Slavok47
17.07.2014 - 08:38
PHP 5.3.28
ALTER TABLE `catalog` ADD FULLTEXT (`descript`)
ошибок нет
SELECT * FROM `catalog` WHERE MATCH(descript) AGAINST('а')
MySQL вернула пустой результат
в самом начале давно указал
error_reporting(2039);
McLotos
17.07.2014 - 08:39
AGAINST('а')
вместо 'а' поставь какое-нибудь слово которое есть в поле descript
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Slavok47
17.07.2014 - 08:51
хм, работает,
видимо сработало
ALTER TABLE `catalog` ADD FULLTEXT (`descript`)
а то я делал поле FULLTEXT через phpAdmin, не запросом, может был глюк...
McLotos
17.07.2014 - 09:02
Теперь возвращаемся к коду. Попробуй из PHP послать запрос и проверить будет работать?
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Slavok47
17.07.2014 - 09:04
хотя вряд ли это что то другое, сделал другое поле для поиска
по запросу MRT-650-16A100 есть результат, а по AAA XXXX/XX нет...
да забыл написать, из формы запрос тоже срабатывает
McLotos
17.07.2014 - 09:09
Т.е. теперь всё нормально?
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Slavok47
17.07.2014 - 09:16
как то не корректно, например
ищу фразу оригинал 4CIF/D1, находит, 4CIF тоже находит,
меняю поле для поиска, ищу MRT-650-16A100, находит, MRT-650-16A уже не находит, оригинал BBB XXXX/XX не находит...
McLotos
17.07.2014 - 09:29
подожди.
Вводишь 4CIF/D1
Получаешь 4CIF/D1 и 4CIF
Вводишь MRT-650-16A100
Получаешь MRT-650-16A
Ну всё логично. В ответах же есть тот текст который ты ввел, значит всё правильно находит, логика простая, если скрипт не нашёл полностью слово, то он нашёл самое похожее слово.
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Slavok47
17.07.2014 - 09:33
нет, не так
ищу 4CIF/D1, нахожу 4CIF/D1, ищу 4CIF, нахожу 4CIF/D1, тут все логично
ищу MRT-650-16A100, нахожу MRT-650-16A100, ищу MRT-650-16A нихрена не нахожу
BBB XXXX/XX вобще ни как не нахожу
McLotos
17.07.2014 - 09:34
=)
запрос нужно подправить =)
http://www.mysql.ru/docs/man/String_compar..._functions.html
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Valick
17.07.2014 - 22:24
Цитата |
ну а надо больше 10? у меня всего 2 строки с данными (для эксперимента сделал) |
я вам для мебели чтоли сказал прочитать как проходит полнотекстовый поиск? из двух строк он никодгда не даст результата, сделайте хотябы 1000 строк, для более менее адекватной релевантности
Цитата |
следует заметить что для IN NATURAL LANGUAGE MODE действует так называемое «50% threshold». Это означает, что если слово встречается более чем в 50% всех просматриваемых полей, то оно не будет учитываться, и поиск по этому слову не даст результатов. |
любое искомое значение в таблице из двух строк будет 50 или 100%
Цитата |
В бинарном режиме отсутствует ограничение «50% threshold». Бинарный режим можно использовать и без создания полнотекстового индекса, однако это будет работать очень медленно. |
это если кратко, а по хорошему читайте, чем больше тем лучше
_____________
Стимулятор ~yoomoney - 41001303250491
Подниму тему.
Не работает полнотекстовый поиск в 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('вит')
В чем может быть проблема
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.