[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не работает поиск
Страницы: 1, 2
Slavok47
PHP 5.3.28

ALTER TABLE `catalog` ADD FULLTEXT (`descript`)

ошибок нет

SELECT * FROM `catalog` WHERE MATCH(descript) AGAINST('а')

MySQL вернула пустой результат


в самом начале давно указал
error_reporting(2039);
McLotos
AGAINST('а')
вместо 'а' поставь какое-нибудь слово которое есть в поле descript

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Slavok47
хм, работает,
видимо сработало
ALTER TABLE `catalog` ADD FULLTEXT (`descript`)


а то я делал поле FULLTEXT через phpAdmin, не запросом, может был глюк...

McLotos
Теперь возвращаемся к коду. Попробуй из PHP послать запрос и проверить будет работать?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Slavok47
хотя вряд ли это что то другое, сделал другое поле для поиска

по запросу MRT-650-16A100 есть результат, а по AAA XXXX/XX нет...


да забыл написать, из формы запрос тоже срабатывает
McLotos
Т.е. теперь всё нормально?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Slavok47
как то не корректно, например

ищу фразу оригинал 4CIF/D1, находит, 4CIF тоже находит,

меняю поле для поиска, ищу MRT-650-16A100, находит, MRT-650-16A уже не находит, оригинал BBB XXXX/XX не находит...
McLotos
подожди.
Вводишь 4CIF/D1
Получаешь 4CIF/D1 и 4CIF

Вводишь MRT-650-16A100
Получаешь MRT-650-16A

Ну всё логично. В ответах же есть тот текст который ты ввел, значит всё правильно находит, логика простая, если скрипт не нашёл полностью слово, то он нашёл самое похожее слово.

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Slavok47
нет, не так

ищу 4CIF/D1, нахожу 4CIF/D1, ищу 4CIF, нахожу 4CIF/D1, тут все логично

ищу MRT-650-16A100, нахожу MRT-650-16A100, ищу MRT-650-16A нихрена не нахожу

BBB XXXX/XX вобще ни как не нахожу
McLotos
=)
запрос нужно подправить =)

http://www.mysql.ru/docs/man/String_compar..._functions.html

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Valick
Цитата
ну а надо больше 10? у меня всего 2 строки с данными (для эксперимента сделал)

я вам для мебели чтоли сказал прочитать как проходит полнотекстовый поиск? из двух строк он никодгда не даст результата, сделайте хотябы 1000 строк, для более менее адекватной релевантности
Цитата
следует заметить что для IN NATURAL LANGUAGE MODE действует так называемое «50% threshold». Это означает, что если слово встречается более чем в 50% всех просматриваемых полей, то оно не будет учитываться, и поиск по этому слову не даст результатов.

любое искомое значение в таблице из двух строк будет 50 или 100%
Цитата
В бинарном режиме отсутствует ограничение «50% threshold». Бинарный режим можно использовать и без создания полнотекстового индекса, однако это будет работать очень медленно.

это если кратко, а по хорошему читайте, чем больше тем лучше

_____________
Стимулятор ~yoomoney - 41001303250491
Kusss
Подниму тему.
Не работает полнотекстовый поиск в MySQL 5.5 .
В таблице 784 записи. Поле name (varchar(150),cp1251_general_ci)

Действие Имя инде Тип Уник Поле Уникальных элементов
PRIMARY BTREE Да Нет id 784
name FULLTEXT Нет Нет name 784

Вот сам запрос, "MySQL вернула пустой результат"
SELECT 
id,name
FROM
`order`
WHERE
MATCH
(`name`) AGAINST('вит')

В чем может быть проблема
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.