Elasticsearch(ES)Query And Filter

Query

        在过滤结果集的同时,会计算结果文档和查询条件的相关度,并将返回结果集按照相关度的高低排序。从下图中也可以看出,在返回的数据中每个文档都有_score属性,并且属性值都不为0,返回结果集也是按照_score属性值的高低排序的。由于每次新增或者删除文档都有可能导致计算出来的_score值发生变化,需要重新计算,所以ES不会缓存Query的结果。

Query

Filter

只是按照搜索条件过滤出需要的数据而已,不计算任何相关度分数,对相关度没有任何影响。从下图中也可以看出,虽然返回的每个文档都有_score属性,但属性值都为0。由于Filter相当于只是回答是或者不是,所以ES会使用Page Cache将Filter的结果缓存起来,当新增和删除文档时, 也会更新FIlter的结果。

Filter
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容