问题标签 [elasticsearch-aggregation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elasticsearch - 具有多个排除项的 Elasticsearch 聚合查询
我在 ES 数据库中有一堆公司数据。我正在寻找每家公司出现多少文档的计数,但我在aggregation
查询时遇到了一些问题。我希望排除诸如“公司”或“公司”之类的术语。到目前为止,我已经能够按照下面的代码一次成功地完成一个学期。
哪个返回
理想情况下,我希望能够做类似的事情
但我一直无法找到一种不会引发错误的方法
我查看了 ES 文档中聚合的“术语”部分,只能找到单个排除的示例。我想知道是否可以排除多个术语,如果可以,这样做的正确语法是什么。
注意:我知道我可以将该字段设置为“not_analyzed”并获取完整公司名称的分组,而不是拆分名称。但是,我犹豫要不要这样做,因为分析允许存储桶更容忍名称变化(即 Microsoft Corp 和 Microsoft Corporation)
elasticsearch - 弹性搜索总和聚合中的问题
我正在尝试使用我自己的参数从弹性搜索站点获取示例,但它不起作用。
询问:
我得到的错误:
这里的分片失败是什么?它说没有 aggs 解析器,我应该在这里做什么?基本上,我需要执行 sum 之类的操作,然后从中找出最大值。我应该如何修改上面的代码来获得它?
elasticsearch - 是否可以将 ElasticSearch 聚合的结果放回索引中?
所以我有一个索引,其中包含从主机 A 到主机 B 的 ping 数据,我的数据如下所示:
目标是在移动窗口(例如最后一小时、最后一天等)上存储 ping 值的第 90 个百分位数数据(上面的“值”)。
我知道我可以通过聚合来做到这一点,但我的问题如下:
ElasticSearch 是否支持将聚合(或相关的查询)的输出自动添加回索引的方法?
我知道我可能只是获取输出,调整字段,然后使用一些帮助应用程序将数据放回原处,但很好奇这是否只能使用 ES。
要使用等效的 SQL 示例,我会寻找这样的东西:
elasticsearch - ElasticSearch 的多个指标子聚合情况
我知道 Elasticsearch 支持带有分桶的子聚合(其中分桶聚合可以有分桶或度量子聚合)。度量聚合不能进行子聚合。可能这是有道理的,但这是用例。
我有术语聚合作为父母。并使用另一个term
聚合作为它的子级。childterm
有一个类型为的子聚合top_hits
。top_hits
是一个度量聚合,因此它不能采用任何子聚合。现在需要avg
在组合中加入聚合。Given是聚合树中的最后一个聚合,因为它是一个度量聚合,所以它top_hits
不能avg
作为它的子级。top_hits
以下是所需的聚合级别。(当然它是无效的,因为它top_hits
是一个度量聚合并且对于avg
聚合也是如此。
解决此问题的解决方法或最佳方法是什么?
elasticsearch - elasticsearch:使用聚合值进行过滤
我正在使用嵌套映射(如下),它代表一个“任务”,并且有一个“请求”的嵌套元素,该元素正在朝着该任务取得进展。
我试图找到所有尚未取得进展的任务,即嵌套对象上的“最大”聚合为空的所有文档。这需要能够过滤聚合的结果——这就是我有点卡住的地方。
我可以按聚合结果排序。但我找不到过滤方法。有这样的能力吗?
映射:
按聚合查询排序(并寻找过滤器......):
elasticsearch - 将聚合限制在 elasticsearch 中的前 X 个命中
ElasticSearch 根据查询的所有命中构建聚合结果,独立于 from 和 size 参数。这是我们在大多数情况下想要的,但我有一个特殊情况,我需要将聚合限制为前 N 个命中。限制过滤器不适合,因为它不获取最好的 N 个项目,而只获取与查询(每个分片)匹配的第一个 X,而与它们的分数无关。
有什么方法可以构建一个命中数上限为 N 的查询,以便能够构建一个仅限于前 N 个结果的聚合?如果是这样怎么办?
辅助问题:限制匹配文档的分数可能是一种替代方法,即使在我的情况下我需要一个固定的界限。min_score 参数是否影响聚合?
elasticsearch - Elasticsearch:聚合查询结果
我有一个包含产品的弹性搜索索引,我可以查询不同的搜索词。每个产品都包含一个字段shop_id
来引用它所属的商店。现在我尝试显示所有持有我查询产品的商店的列表。(按商店过滤)据我阅读类似问题,我必须使用聚合。最后我建立了这个查询:
这应该基于 搜索playstation
和聚合结果shop_id
。可悲的是它只会返回
数据太大,数据将大于 [8534150348] 字节的限制。
我还尝试了只返回 2 个结果的查询。该指数包含超过 90,000,000 种产品。
elasticsearch - elasticsearch聚合中的动态时区偏移?
我正在汇总每个都有时间戳的文档。时间戳是 UTC,但每个文档也有一个本地时区 ( "timezone": "America/Los_Angeles"
),该时区在文档之间可能不同。
我正在尝试date_histogram aggregation
基于本地时间,而不是 UTC 或固定时区(例如,使用 option "time_zone": "America/Los_Angeles"
)。
如何在聚合之前将每个文档的时区转换为其本地时间?
这是简单的聚合:
elasticsearch - 将基数聚合与“位置”条件相结合?
我正在尝试根据字段创建不同的计数命中,但我被卡住了。
如何将基数和条件结合起来"select distinct(lastname) from table where name like 'George%'"
?
如何在 Cardinality 中使用“where”条件?