陋室铭
永远也不要停下学习的脚步(大道至简至易)

在全文搜索中默认排序是按照匹配度权值score排序的,权值越大位置越靠前,那为什么有很多时候全词匹配反而不在最前面那,其实很简单因为全词匹配权值也就是100,但是还有很多权值大于100的排在了前面。

 

比如 搜索“中国”,分词是 中,国,中国。那么有两个值“中国人”,“中国人在中国”这两个那个权值更大那,显然是“中国人在中国”权值更大,所以“中国人在中国”排在前面,全词匹配的“中国人”反在后面。

那如何让全词匹配结果在最前面那。

一个简单的办法,再建一个不分词的字段存储相同值,匹配。

A不分词:“中国人” OR A分词:“中国人”

这样就能排在前面了。不过这么消耗会很大,复杂的就需要自定义权值规则了。

posted on 2019-03-27 15:59  宏宇  阅读(1141)  评论(0编辑  收藏  举报