《深入理解Elasticsearch(原书第2版)》一2.4.5 选择正确的过滤方式

2.4.5 选择正确的过滤方式

读了前述关于后置过滤和过滤查询的解释,你可能会在以后只考虑使用过滤查询并远离后置过滤。这一规则在绝大多数情况下是正确的,不过在某些条件下,存在例外情况。经验法则告诉我们,开销最大的操作需要移动到查询处理链条的尾部。如果过滤器执行很快,开销很小,并且易于缓存,很简单,直接选择过滤查询即可。相反,如果过滤器执行很慢,CPU开销大,并且难于缓存(比如有大量唯一值的情况),请使用后置过滤,或者尝试优化过滤器。优化途径包括简化过滤器和使得过滤器对缓存更友好,比如,可以降低时间区间过滤器的时间粒度。

时间: 2024-09-20 06:04:31

《深入理解Elasticsearch(原书第2版)》一2.4.5 选择正确的过滤方式的相关文章

《深入理解Elasticsearch(原书第2版)》一2.4.1 过滤及查询相关性

2.4.1 过滤及查询相关性 普通查询和过滤的第一个差异在于它们对文档打分的影响.让我们举例对比一下查询和过滤的输出.首先执行如下查询: 这个查询的结果如下: 这个查询没有任何特异之处.Elasticsearch将返回所有在title字段中包含"front"的文档.需要指出的是,每个和查询匹配的文档都会被计算得分,其中得分最高的一组文档被作为查询结果返回给用户.在本例中,该查询返回了一篇得分为0.11506981的文档.以上这些就是查询的一般行为.接着我们来对比一下查询和过滤.在一个同

《深入理解Elasticsearch(原书第2版)》一2.5.1 查询方式分类

2.5.1 查询方式分类 当然,对查询方式进行分类是一件艰难的任务,我们也不敢打包票说在这里给出的分类列表是唯一正确的.我们甚至可以说,如果你询问其他Elasticsearch使用者,他们可能会给出自己的分类方式,或者声称每个查询方式都可以被归入多个类别.有趣的是,他们有可能是对的.我们也曾考虑过多种分类方式存在的情况,不过,最终我们认为,每个查询方式都可以被归入以下列出的一个或多个类别中. 基本查询:这类查询允许针对索引的一部分进行检索,其输入数据既可以分析也可以不做分析.这类查询的一个关键特

《OpenGL编程指南(原书第9版)》——第3章 3.0OpenGL绘制方式

第3章 3.0OpenGL绘制方式 本章目标 阅读完本章内容之后,你将会具备以下的能力: 辨别所有OpenGL中可用的渲染图元. 初始化和设置数据缓存,用于几何体的渲染. 使用多实例渲染(instanced rendering)等高级技法对渲染进行优化. OpenGL的主要作用就是将图形渲染到帧缓存当中.为了实现这一要求,需要将复杂的物体分解成图元的形式(包括点.线,以及三角形),当它们的分布密度足够高时,就可以表达为2D以及3D物体的形态.OpenGL中包含了很多渲染这类图元的函数.这些函数允

《深入理解Elasticsearch(原书第2版)》——2.4 过滤器的使用及作用原理

2.4 过滤器的使用及作用原理 接下来,我们一起认识一下Elasticsearch提供的过滤功能.初看起来,过滤好像一个多余的功能,因为几乎每个过滤器在Elasticsearch查询DSL中都以一个与查询代码极其相似的方式呈现的.不过,这些过滤器一定有其独到之处,不然它们就不会在查询性能优化时被广泛使用和推荐了.本节我们将着重探讨为什么过滤器如此重要,它们的工作原理,以及Elasticsearch都提供了哪些过滤器给我们使用. 2.4.1 过滤及查询相关性 普通查询和过滤的第一个差异在于它们对文

《深入理解Elasticsearch(原书第2版)》一2.4 过滤器的使用及作用原理

2.4 过滤器的使用及作用原理 接下来,我们一起认识一下Elasticsearch提供的过滤功能.初看起来,过滤好像一个多余的功能,因为几乎每个过滤器在Elasticsearch查询DSL中都以一个与查询代码极其相似的方式呈现的.不过,这些过滤器一定有其独到之处,不然它们就不会在查询性能优化时被广泛使用和推荐了.本节我们将着重探讨为什么过滤器如此重要,它们的工作原理,以及Elasticsearch都提供了哪些过滤器给我们使用.2.4.1 过滤及查询相关性 普通查询和过滤的第一个差异在于它们对文档

《深入理解Elasticsearch(原书第2版)》一导读

前 言 欢迎来到Elasticsearch的世界并阅读本书第2版.通过阅读本书,我们将带领你接触与Elasticsearch紧密相关的各种话题.请注意,本书不是为初学者写的.笔者将本书作为<Elasticsearch Server, Second Edition>的续作和姊妹篇.相对于<Elasticsearch Server>,本书涵盖了很多新知识,不过你偶尔也可以在本书中发现一些引自<Elasticsearch Server>的内容. 本书将探讨与Elasticse

《深入理解Elasticsearch(原书第2版)》——导读

前 言 欢迎来到Elasticsearch的世界并阅读本书第2版.通过阅读本书,我们将带领你接触与Elasticsearch紧密相关的各种话题.请注意,本书不是为初学者写的.笔者将本书作为<Elasticsearch Server, Second Edition>的续作和姊妹篇.相对于<Elasticsearch Server>,本书涵盖了很多新知识,不过你偶尔也可以在本书中发现一些引自<Elasticsearch Server>的内容. 本书将探讨与Elasticse

《深入理解Elasticsearch(原书第2版)》一2.5 选择正确的查询方式

2.5 选择正确的查询方式 在<Elasticsearch Server,Second Edition>一书中,我们详细介绍了Elasticsearch的查询DSL,这一种使用JSON结构化的查询语言,可以构建极其复杂的查询语句.不过,在那本书中我们没有探讨在不同的场合可以用到哪些查询方式,以及应该使用哪种查询方式.对于一个在全文搜索引擎领域没有经验储备的人来说,Elasticsearch提供的查询方式显得太多了,而且容易让人迷惑.因此我们将在本书中对这方面的知识做一些深入探讨,从而引导读者如

《深入理解Elasticsearch(原书第2版)》——2.5 选择正确的查询方式

2.5 选择正确的查询方式 在<Elasticsearch Server,Second Edition>一书中,我们详细介绍了Elasticsearch的查询DSL,这一种使用JSON结构化的查询语言,可以构建极其复杂的查询语句.不过,在那本书中我们没有探讨在不同的场合可以用到哪些查询方式,以及应该使用哪种查询方式.对于一个在全文搜索引擎领域没有经验储备的人来说,Elasticsearch提供的查询方式显得太多了,而且容易让人迷惑.因此我们将在本书中对这方面的知识做一些深入探讨,从而引导读者如