疲劳是最舒适的枕头,努力工作吧。

请求搜索命中词位置的得分实现方法

Elasticsearch | 作者 huigy | 发布于2017年04月01日 | 阅读数:5131

es的得分只和词频,内容长度,词的出现次数有关。但实际情况应该还有位置有关系,请教es要怎么实现,例如:搜索“小明”,如果ik中没有分词的话
小宝贝明天要上学
小明今天不上学
明显第二个应该分高一些,但实际情况es计算后评分是一样的。所以除了把小明加入ik有没有其它方法加入位置对评分影响的办法。说的极端一点就是如何在一元分词下提高准确度而不是只要命中关键字就行
已邀请:

wmj

赞同来自:

Query rescorer

Query rescorer 对由 query 和 post_filter 查询返回的结果执行二次排序 ,每个分片上需要被检查的文档数量可以由window_size(最大深度)参数指定,默认是 form和size

默认把第一次排序和第二次排序的得分合并成最终的得分,你可以配置query_weight和rescore_query_weight修改两次排序得分的权

参考地址:https://github.com/13428282016 ... corer

huigy

赞同来自:

看了,但要怎么确定两个匹配词的位置关系呢!
小宝贝明天要上学
小明今天不上学
怎么确认小明和小XXXX明

要回复问题请先登录注册