Является ли 'second' ключевым словом в полнотекстовом поиске mysql? - PullRequest
2 голосов
/ 01 мая 2010

У меня есть простая таблица MySQL, которая настроена для полнотекстового поиска.

| id | title         |
----------------------
| 1  | test event    |
| 2  | Second test   |
| 3  | Larry's event |
| 4  | this second   |

Когда я использую запрос:

SELECT * 
FROM EVENTS
WHERE MATCH (title) AGAINST ('test event' IN BOOLEAN MODE);

я возвращаюсь 3 ряда; те, которые содержат «тестовое событие», «второй тест» и «событие Ларри».

Теперь, если я запускаю следующий запрос:

SELECT * 
FROM EVENTS
WHERE MATCH (title) AGAINST ('second' IN BOOLEAN MODE);

Ничего не возвращается ... странно?

Наконец, если я выполню запрос:

SELECT * 
FROM EVENTS
WHERE MATCH (title) AGAINST ('second test' IN BOOLEAN MODE);

Я возвращаюсь на 2 строки; те, которые содержат «тестовое событие» и «второй тест».

Мне кажется, что слово «секунда» не может быть найдено, или его нужно как-то избежать. Я что-то упустил?

Ответы [ 2 ]

1 голос
/ 01 мая 2010

Да, это стоп-слово:

Полные текстовые стоп-слова

если у вас есть доступ к серверу mySQL, вы можете изменить файл списка стоп-слов, как описано здесь . Если это общий сервер, вам может не повезти.

1 голос
/ 01 мая 2010

Да, секунда - это стоп-слово, и оно будет введено. (Вы можете переопределить это поведение)

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