即使是不成熟的尝试,也胜于胎死腹中的策略。

ES这个查询优化是什么意思

Elasticsearch | 作者 Charele | 发布于2021年07月03日 | 阅读数:1655

如果是针对long类型的sort查询,它会做一个优化。
捕获.PNG

 重写你的query,就是变成一个bool查询,如下
{
原query : FILTER
新LongDistanceFeatureQuery : SHOULD
}

这个新查询,还是should,说明是可有可无的。没明白啥意思。
有关注过的大神说一下理解。
已邀请:

Ombres

赞同来自: Charele

学git代码发现问题的首要办法是看commit注释.可能会给一些启发。
 
查询前提是 query + (long field sort),也就是query的评分不重要,评分时以long field的值进行排序.
改造后的查询LongDistanceFeatureQuery影响最终评分,query不进行评分,利用LongDistanceFeatureQuery进行top n查询的优化,跳过部分数据不进行评分计算,以此加快查询速度
 
参考
https://github.com/elastic/ela ... 37043

要回复问题请先登录注册