Булево слово поиска - PullRequest
       8

Булево слово поиска

1 голос
/ 13 ноября 2010

Я провел множество успешных булевых поисков, но, похоже, одно слово не позволяет отобразить ожидаемые результаты.

Ниже вы можете увидеть структуру таблицы вверху, уделяя особое внимание содержанию теговдля этого тестаявляется одним из тегов, он возвращает 0 результатов.

Однако, если я выполню поиск по запросу "напиток", который является другим тегом, он найдет продукт!!

Ответы [ 2 ]

4 голосов
/ 13 ноября 2010

Если я выполняю поиск «горячий», который является одним из тегов, он возвращает 0 результатов.

По умолчанию MySQL не индексирует (и не ищет) словадлиной менее 4 символов.

Уменьшите @@ft_min_word_len, если вы хотите проиндексировать их и перестроить индекс.

0 голосов
/ 13 ноября 2010

Убедитесь, что "hot" не является стоп-словом (это не стоп-слово по умолчанию, но, возможно, ваша реализация mysql имеет его по какой-то причине?) И что "hot" не слишком коротокслово ( по умолчанию ft_min_word_len равно 4, поэтому слова, содержащие менее 4 букв, будут игнорироваться, ЕСЛИ они не соответствуют оператору усечения *, поэтому хотя hot будет игнорироваться, hott не будет, см .:1006 * здесь )

...