MySQL полный текст MATCH, ПРОТИВ возвращает 0 результатов - PullRequest
2 голосов
/ 26 сентября 2010

Я пытаюсь следовать: http://dev.mysql.com/doc/refman/4.1/en/fulltext-natural-language.html

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

Однако при использовании этого SQL («skitt» используется в качестве поискового запроса, чтобы я мог попробовать сопоставить Skittles).

SELECT 
    id,name,description,price,image, 
    MATCH (name,description) 
    AGAINST ('skitt') 
    AS score 
FROM 
    products 
WHERE 
    MATCH (name,description)
AGAINST ('skitt')

это возвращает 0 результатов. Я пытаюсь выяснить, почему, я думаю, я мог неправильно установить свой индекс Я не уверен, это первый раз, когда я отошел от LIKE !

Вот моя структура таблицы и данные:

alt text

Спасибо!

1 Ответ

5 голосов
/ 26 сентября 2010

По умолчанию определенные слова исключаются из поиска. Они называются стоп-словами . «а» является примером стоп-слова. Вы можете проверить свой запрос, используя слово, которое не является стоп-словом, или вы можете отключить стоп-слова:

Если вы также хотите сопоставить префиксы, используйте оператор усечения в логическом режиме :

*

Звездочка служит оператором усечения (или подстановочного знака). В отличие от других операторов, он должен быть добавлен к слову, которое будет затронуто. Слова совпадают, если они начинаются со слова, предшествующего оператору *.

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