Как я могу управлять релевантностью полнотекстового поиска MySQL, чтобы сделать одно поле более «ценным», чем другое?
На самом деле, использование indexing оператора case для создания mysql-server пары флагов может быть лучшим mysqldump решением:
select
...
, case when keyword like '%' + @input + '%' then 1 else 0 end as keywordmatch
, case when content like '%' + @input + '%' then 1 else 0 end as contentmatch
-- or whatever check you use for the matching
from
...
and here the rest of your usual matching query
...
order by keywordmatch desc, contentmatch desc
Опять же, это возможно mysql только в том случае, если full-text-search все совпадения ключевых слов mysql имеют более высокий рейтинг, чем relevance все совпадения только по full-text-search содержанию. Я также сделал mysql-server предположение, что соответствие searching как по ключевому слову, так mysqlclient и по содержанию дает наивысший fulltext-searching рейтинг.
mysql
search
indexing
full-text-search
relevance
Как я могу управлять релевантностью полнотекстового поиска MySQL, чтобы сделать одно поле более «ценным», чем другое?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.