Интересная МАТЧА ПРОТИВ вопроса: не искать несколько слов
У меня есть такая таблица:
|====brand=====|======title================|
|....Apple.....|...iPhone 5 32 GB..........|
|....Sony......|...Bluetooth Headset.......|
И я использую ПОЛНЫЙ ТЕКСТ ПОИСК в основном так:
SELECT
*,
MATCH(brand,title) AGAINST ('some words') as score
FROM
table
Поэтому, когда я искал гарнитуру, MySQL дал оценку 1,812121 по-настоящему.
Но когда я искал iphone; MySQL дает 0 баллов.
Ps: ft_min_word_len = 2
1 ответ
Решение
От http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
Поиск на естественном языке интерпретирует строку поиска как фразу на естественном человеческом языке (фраза в свободном тексте). Там нет специальных операторов. Список стоп-слов применяется. Кроме того, слова, которые присутствуют в 50% или более строк, считаются общими и не совпадают. Полнотекстовый поиск - это поиск на естественном языке, если не указан модификатор.
Так что немного о распространенных словах звучит правдоподобно.