优先考虑 MySQL 全文搜索中的字段以增强相关性
假设您遇到这样的情况,其中有两列,“关键字”和“内容” ,”在表中以及跨越两列的基础全文索引。但是,您希望为“关键字”列中包含特定术语的行提供比“内容”列中包含该特定术语的行更高的相关性。
要在使用“匹配”的上下文中完成此任务语法,可以实现多方面的方法:
创建多个全文索引:
建立三个全文索引:
利用加权相关性计算:
在您的查询中,分别检索“关键字”和“内容”匹配的相关性得分。然后,使用加权相加来组合这些分数,为“关键字”相关性赋予更高的权重:
SELECT id, keyword, content, MATCH (keyword) AGAINST ('watermelon') AS rel1, MATCH (content) AGAINST ('watermelon') AS rel2 FROM table WHERE MATCH (keyword,content) AGAINST ('watermelon') ORDER BY (rel1*weight_factor)+(rel2) DESC
这种方法允许您优先考虑“关键字”列的重要性用于确定 MySQL 全文搜索查询中的文档相关性。计算中的权重因子使您能够微调所需列中匹配术语的优先级。
以上是如何确定 MySQL 全文搜索中字段的优先级以增强相关性?的详细内容。更多信息请关注PHP中文网其他相关文章!