居然是你

DSL语法的执行顺序

Elasticsearch | 作者 guluo | 发布于2019年10月09日 | 阅读数:3006

{
"query":{
"bool":{
"must":{
"match":{
"state":"PA"
}
},
"filter":{
"range":{
"age":{
"lte":100
}
}
}
}
}
}
是先执行match还是先执行filter?内部的执行顺序和代码的书写顺序有关系么?
已邀请:

locatelli

赞同来自: ziyou

有一篇blog (https://www.elastic.co/blog/el ... order)应该会对你有点帮助。

core_wzw - 某AILab搜索技术负责人

赞同来自: Lemcoo

永远都是先执行filter后query(match),先根据所有filter条件从倒排索引求交出候选文档,然后再用query(match)对候选集打分,只有这样搜索引擎速度才能上去。

要回复问题请先登录注册