Проблема поиска таблицы MySQL с помощью MATCH AGAINST - PullRequest
0 голосов
/ 22 октября 2010

У меня есть таблица MySQL, содержащая данные о событиях.

В этой таблице у меня есть индекс FULLTEXT, включающий в себя event_title, event_summary, event_details типов varchar, text, text соответственно.

Примерыиз названий: «Количество подключений», «Первая помощь», «Здоровье и безопасность».

Я могу искать в таблице следующим образом:

SELECT * FROM events WHERE MATCH (event_title,event_summary,event_details) AGAINST ('connections');

, которая возвращает события с именем «Подключения».Посчитайте «без проблем.

Однако, что бы я ни пытался, я получаю пустой набор результатов при выполнении следующих запросов:

SELECT * FROM events WHERE MATCH (event_title,event_summary,event_details) AGAINST ('first aid');

SELECT * FROM events WHERE MATCH (event_title,event_summary,event_details) AGAINST ('first');

SELECT * FROM events WHERE MATCH (event_title,event_summary,event_details) AGAINST ('aid');

Я пытался переименовать событие в« Rich Aid »и мог бы найти это просто отлично.Кроме того, «First Rich» тоже отлично работает.

Любые идеи о том, почему это происходит или как это исправить, были бы великолепны!

Спасибо за ваше время.

Rich

1 Ответ

1 голос
/ 22 октября 2010

«first» - это «stopword» , и по умолчанию слова ниже 4 символов не сопоставляются, если не указано значение ft_min_word_len.

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