ES5.3 BM25文档score=25000,explain后计算过程没问题,score为什么不在1-20范围呢?
Elasticsearch | 作者 core_wzw | 发布于2018年12月11日 | 阅读数:3250
score比较合理的区间不应该处于1到10之间吗?5.3版本一换,默认用的BM25,一看每篇文档都是10000+分,这是正常现象?
下面是某篇文档的得分举例:
可以看到score由十个左右match的特征分sum of而成:
每个得分都是由BM25计算而得,系数值均没问题,举个例子。下面是打分特征和对应的explain
下面是某篇文档的得分举例:
可以看到score由十个左右match的特征分sum of而成:
每个得分都是由BM25计算而得,系数值均没问题,举个例子。下面是打分特征和对应的explain
"query": {
"bool": {
"should": [
{
"multi_match": {
"query": "关系型数据库",
"fields": [
"title^5",
...
],
"type": "best_fields",
"minimum_should_match": 4,
"boost": 8
}
}
]
}
}
2 个回复
rochy - rochy_he
赞同来自:
medcl - 今晚打老虎。
赞同来自:
BM25不会一直涨的,这个也是对应于 TF/IDF 的一大好处。
【参考】:https://www.elastic.co/guide/e ... .html