刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
过滤器(filter)通常用于过滤文档的范围,比如某个字段是否属于某个类型,或者是属于哪个时间区间
查询器(query)的使用方法像极了filter,但query更倾向于更准确的查找。
查询器会计算出每份文档对于某次查询有多相关(relevant),然后分配文档一个相关性分数:_score。而这个分数会被用来对匹配了的文档进行相关性排序。相关性概念十分适合全文搜索(full-text search),这个很难能给出完整、“正确”答案的领域。
Fiter是精确查询,对待的文档检索的结果是 是/否 ;Query对应文档检索是对文档相关性评分。
表现(性能Performance)区别:Filter返回是和条件匹配的一个简单的列表这是很快可以计算得到的并且也很容易在内存中做缓存;Query不仅要找到匹配的文档,而且还要计算每个文档的相关性(评分),这就很明显比filter花费更多的计算。
如何做到查询最优解?
本文链接:Elasticsearch 中 Query与Filter区别
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!