【Elastic知识简报】query与filter的区别

时间:2023-02-03 10:01:05


1. query与filter的区别

从ES5.6开始filter被并到bool查询中使用,filter的查询注重结果,也就是目标与查询条件是否匹配;而query的查询注重过程,也就是目标与查询条件的匹配度,匹配度越高的优先输出

2. 总结

1、因此filter的查询是没有评分的,而query的查询是有评分的
2、filter有相应的缓存机制,可以提高查询效率,并且因为filter不计算相关性评分,所以查询速度更快

3. query与filter如何配合

利用filter的高性能快速过滤大部分数据,再利用query来精确查询所需要的数据。使用query+filter既能保证速度又能保证结果的相关性