У меня возникла проблема с моей релевантной релевантности и фильтрацией с использованием полного текста (совпадение), и я объясню ниже.Полнотекстовый поиск и оценка MySQL
У меня есть таблица под названием «Песни», которая содержит более 1,5 млн записей, эта таблица содержит много столбцов, из которых 2 из них - имя и художник, эти 2 столбца индексируются по полнотекстовым данным.
Когда я ищу название и песню, соответствующие точно значениям, которые показывают низкий балл, и для меня это не имеет никакого смысла, например.
ДАННЫЕ:
name | artist
------------- | ------------
Glad You Came | Boyce Avenue
Когда я выполнить запрос ниже он приносит:
SELECT name, artist,
MATCH(name, artist) AGAINST('+glad +you +came +Boyce +Avenue' IN BOOLEAN MODE) AS score
FROM live_lyric.songs
WHERE MATCH(name, artist) AGAINST('+glad +you +came +Boyce +Avenue' IN BOOLEAN MODE)
name | artist | score
------------- | ------------ | ------------------
Glad You Came | Boyce Avenue | 54.727073669433594
Я ищу точное соответствие, как же это может быть 54,7 ??
Если удалить + знак как
SELECT name, artist,
MATCH(name, artist) AGAINST('glad you came Boyce Avenue' IN BOOLEAN MODE) AS score
FROM live_lyric.songs
WHERE MATCH(name, artist) AGAINST('glad you came Boyce Avenue' IN BOOLEAN MODE)
я буду иметь такой же ответ с большим количеством других записей, где не имеют отношения вообще.
Для меня поиск с знаком «+» должен быть около 100, почему это не так, и как я могу его улучшить?
Спасибо за ваш ответ, но обе точки, которые я уже проверил .. 1. пришел не стоп слово - 2. мин слово я уже изменил на 2 буквы, поэтому он должен использовать все слова –
Я сделал это, прежде чем я опубликую вопрос –