ES中的查询操作分为2种:查询(query)和过滤(filter)。
查询即是之前提到的query查询,它(查询)默认会计算每个返回文档的得分,然后根据得分排序。
而过滤(filter)只会筛选出符合的文档,并不计算得分,且它可以缓存文档。所以,单从性能考虑,过滤比查询更快。
所以我们在组合使用这两种查询操作的时候,我们优先考虑先过滤后查询的组合。
就是说:过滤适合在大范围筛选数据,而查询则适合精确匹配数据。所以,一般应用时,应先使用过滤操作过滤数据,然后使用查询匹配数据。
ES中的查询操作分为2种:查询(query)和过滤(filter)。
查询即是之前提到的query查询,它(查询)默认会计算每个返回文档的得分,然后根据得分排序。
而过滤(filter)只会筛选出符合的文档,并不计算得分,且它可以缓存文档。所以,单从性能考虑,过滤比查询更快。
所以我们在组合使用这两种查询操作的时候,我们优先考虑先过滤后查询的组合。
就是说:过滤适合在大范围筛选数据,而查询则适合精确匹配数据。所以,一般应用时,应先使用过滤操作过滤数据,然后使用查询匹配数据。