ElasticSearch 2 (35) - 信息聚合系列之近似聚合 摘要 如果所有的数据都在一台机器上,那么生活会容易许多,CS201 课商教的经典算法就足够应付这些问题.但如果所有的数据都在一台机器上,那么就不需要像 Elasticsearch 这样的分布式软件了.不过一旦我们开始分布式数据存储,算法的选择就需务必小心. 版本 elasticsearch版本: elasticsearch-2.x 内容 如果所有的数据都在一台机器上,那么生活会容易许多,CS201 课商教的经典算法就足够应付这…
ElasticSearch 2 (34) - 信息聚合系列之多值排序 摘要 多值桶(terms.histogram 和 date_histogram)动态生成很多桶,Elasticsearch 是如何决定这些桶展示给用户的顺序呢? 默认的,桶会根据 doc_count 降序排列,这是一个好的默认行为,因为通常我们想要找到文档中与查询条件相关的最大值:售价.人口数量.频率.但有些时候我们希望能修改这个顺序,不同的桶有着不同的处理方式. 版本 elasticsearch版本: elasticsear…
ElasticSearch 2 (31) - 信息聚合系列之时间处理 摘要 如果说搜索是 Elasticsearch 里最受欢迎的功能,那么按时间创建直方图一定排在第二位.为什么需要使用时间直方图? 版本 elasticsearch版本: elasticsearch-2.x 内容 如果说搜索是 Elasticsearch 里最受欢迎的功能,那么按时间创建直方图一定排在第二位.为什么需要使用时间直方图? 假设我们的数据都有时间戳,无论我们的数据是 Apache 日志事件,或是股票交易日期,还是棒球…
Elasticsearch(9) --- 聚合查询(Bucket聚合) 上一篇讲了Elasticsearch聚合查询中的Metric聚合:Elasticsearch(8) --- 聚合查询(Metric聚合) 说明 本文主要参考于Elasticsearch 官方文档 7.3版本. Bucket Aggregations 概念:Bucket 可以理解为一个桶,它会遍历文档中的内容,凡是符合某一要求的就放入一个桶中,分桶相当与 SQL 中的 group by. 这篇博客讲的桶的关键字有:Terms…
1.terms分组查询 //分组聚合 @Test public void test40() throws UnknownHostException{ //1.指定es集群 cluster.name 是固定的key值,my-application是ES集群的名称 Settings settings = Settings.builder().put("cluster.name", "my-application").build(); //2.创建访问ES服务器的客户端…
ElasticSearch 2 (37) - 信息聚合系列之内存与延时 摘要 控制内存使用与延时 版本 elasticsearch版本: elasticsearch-2.x 内容 Fielddata 聚合使用一个叫 fielddata 的数据结构(在 Fielddata 里简单介绍).Fielddata 通常是 Elasticsearch 集群中内存消耗最大的一部分,所以理解它的工作方式十分重要. 小贴士 Fielddata 可以随意被加载到内存中,或是索引是创建并存在磁盘上的.稍后我们会在 D…
ElasticSearch 2 (38) - 信息聚合系列之结束与思考 摘要 版本 elasticsearch版本: elasticsearch-2.x 内容 本小节涵盖了许多基本理论以及很多深入的技术问题.聚合给 Elasticsearch 带来了难以言喻的强大能力和灵活性.桶与度量的嵌套能力,基数与百分位数的快速估算能力,定位信息中统计异常的能力,所有的这些都在近乎实时的情况下操作的,而且全文搜索是并行的,它们改变了很多组织和企业的游戏规则. 事情通常是一旦我们开始使用它,我们就能找到很多其…
ElasticSearch 2 (36) - 信息聚合系列之显著项 摘要 significant_terms(SigTerms)聚合与其他聚合都不相同.目前为止我们看到的所有聚合在本质上都是简单的数学计算.将不同这些构造块相互组合在一起,我们可以创建复杂的聚合以及数据报表. 版本 elasticsearch版本: elasticsearch-2.x 内容 significant_terms(SigTerms)聚合与其他聚合都不相同.目前为止我们看到的所有聚合在本质上都是简单的数学计算.将不同这些…
ElasticSearch 2 (33) - 信息聚合系列之聚合过滤 摘要 聚合范围限定还有一个自然的扩展就是过滤.因为聚合是在查询结果范围内操作的,任何可以适用于查询的过滤器也可以应用在聚合上. 版本 elasticsearch版本: elasticsearch-2.x 内容 聚合范围限定还有一个自然的扩展就是过滤.因为聚合是在查询结果范围内操作的,任何可以适用于查询的过滤器也可以应用在聚合上. Filtered 查询(Filtered Query) 如果我们想找到售价在 $10,000 美元…
ElasticSearch 2 (32) - 信息聚合系列之范围限定 摘要 到目前为止我们看到的所有聚合的例子都省略了搜索请求,完整的请求就是聚合本身. 聚合与搜索请求同时执行,但是我们需要理解一个新概念:范围.默认情况下,聚合与查询是对同一范围进行操作的,也就是说,聚合是基于我们查询匹配的文档集合进行计算的. 版本 elasticsearch版本: elasticsearch-2.x 内容 到目前为止我们看到的所有聚合的例子都省略了搜索请求,完整的请求就是聚合本身. 聚合与搜索请求同时执行,但…