相关疑难解决方法(0)

如何操纵MySQL全文搜索相关性以使一个字段比另一个字段更"有价值"?

假设我有两列,关键字和内容.我有两个全文索引.我希望关键字中的foo行与内容中的foo行具有更多相关性.我需要做些什么才能使MySQL对关键字中的匹配项进行加权?

我正在使用"匹配"语法.

解:

能够以下列方式完成这项工作:

SELECT *, 
CASE when Keywords like '%watermelon%' then 1 else 0 END as keywordmatch, 
CASE when Content like '%watermelon%' then 1 else 0 END as contentmatch,
MATCH (Title, Keywords, Content) AGAINST ('watermelon') AS relevance 
FROM about_data  
WHERE MATCH(Title, Keywords, Content) AGAINST ('watermelon' IN BOOLEAN MODE) 
HAVING relevance > 0  
ORDER by keywordmatch desc, contentmatch desc, relevance desc 
Run Code Online (Sandbox Code Playgroud)

mysql indexing search full-text-search relevance

38
推荐指数
3
解决办法
2万
查看次数

标签 统计

full-text-search ×1

indexing ×1

mysql ×1

relevance ×1

search ×1