当前位置: 首页 > 未分类>阅读正文

elasticSearch之track_total_hits

2022.7.14 朱丰华 2444 次 留下评论 321字

从es的某个版本开始,es返回的结果总数不一定是精准的,也有可能是个大约数。

返回的 hits 下的 total 中一般可以看到:

total:{
   value: 10000,
   relation: gte
}

如果返回的 relation 不是 eq ,则说明是个大约数,如上面的例是gte(grater then equals,即大于等于),结果总数大于等于1w条,只是返回了一个模糊数字为1w。

如果希望返回精准的数字,则使用 track_total_hits为true:

POST index_name/_search
{
    track_total_hits: true
}

此时,返回的结果是精准的,不再取大约数。(取大约数是为了减少不必要的统计,以提高性能,如果无必要,可以不需要精准统计)

本篇完,还有疑问?留下评论吧

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注