Полнотекстовый поиск MySQL с удалением коротких слов отключен - PullRequest
0 голосов
/ 11 апреля 2011

Я использую общий хостинг на Dreamhost.Как получить полный текст mysql для поиска коротких слов длиной менее 3?Есть ли в любом случае я могу сделать это прямо в php?

Спасибо.

Ответы [ 3 ]

1 голос
/ 11 апреля 2011

Если вы ищете только по 3-х символьной строке или меньше, тогда полнотекстовый поиск не имеет смысла - вам понадобится:

select * from table where field LIKE'%xxx%'

Если вы выполняете полнотекстовый поиск, тогда ваша строка поиска будет длиннее 3 символов, что сведет на нет необходимость в вышеуказанном.

ТАК - вы ищете строки из 3 символов или меньше?

1 голос
/ 24 сентября 2012

Полный текст работает со строками из 4 символов или менее, но только по умолчанию. Вам нужно будет указать MySQL индексировать их, изменив ft_min_word_len = 2 (если вы хотите проиндексировать 2 символа) в файле my.cnf.

Затем вам нужно будет перезапустить MySQL и перестроить полнотекстовые индексы для рассматриваемых таблиц.

Возможно, что некоторые слова, которые нужно индексировать, например, IT, могут быть в списке стоп-слов. Погуглите, расскажет вам, как решить эту проблему. IIRC это просто случай их добавления в текстовый файл слов, которые вы хотите проиндексировать из списка стоп-слов по умолчанию.

0 голосов
/ 11 апреля 2011

вы должны использовать LIKE "% xxx%" в своем запросе - полный текст не работает для <4 символов, также должна быть таблица myisam ... </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...