FULLTEXT Нерелевантные результаты - PullRequest
0 голосов
/ 12 декабря 2010

Только что натолкнулся на эту проблему, используя полнотекстовый поиск mysql.

У меня около 250 записей (например, длинные статьи) и я использую полный текст MATCH AGAINST IN BOOLEAN MODE. Теперь, если я ищу ключевое слово, например, «Samsung», и если это ключевое слово присутствует во ВСЕХ записях, то оно возвращает все 250 записей, которые оно должно (конечно, без `В БУЛЕВОМ РЕЖИМЕ) ничего не вернется, поскольку ключевое слово присутствует в более чем 50% записей).

Теперь проблема в том, что в некоторых статьях ключевое слово «Samsung» встречается один раз, а в других - пару раз, но MYSQL дает оценку 1 для всех возвращенных записей, даже для тех, у которых «Samsung» - 15 раз. в них.

Ответы [ 2 ]

3 голосов
/ 30 декабря 2010

см. http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html

Булевы полнотекстовые поиски имеют следующие характеристики:
...
* Они не сортируют строки автоматически в порядке убывания релевантности.

1 голос
/ 30 декабря 2010
select ...
where match(...) against('samsung' in boolean mode)
order by match(...) against('samsung' with query expansion) desc;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...