问题标签 [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:深度嵌套聚合下的reverse_nested聚合不起作用
弹性搜索版本:2.3.3
基本上标题说明了一切。如果reverse_nested
在第二个嵌套聚合下使用,尽管文档似乎是通过reverse_nested
(参见"doc_count"
结果中的最后一个字段)来限定范围的,但它后面的聚合无法以某种方式工作。
这里我准备了一个例子——一个文件是一个学生,上面有注册日期和考试历史。
映射:
测试文件:
聚合查询(没有实际意义):
结果:
...您可以在其中看到聚合“newest_exam_date”不起作用。这是一个错误还是我做错了什么?
elasticsearch - ElasticSearch TopHits 聚合大小
当我按字段进行聚合时,我也会进行subAggregation 并且我希望 ES 将它所拥有的topHits
全部返回给我。TopHits
但是,如果我将 size 指定为Integer.MAX_VALUE
,它不会给我任何回报。为什么?
而且我没有与 key 聚合的桶"aggregation"
。
elasticsearch - ElasticSearch 聚合受到最小日期的影响
聚合后如何获得最小日期?我按某个字段进行了聚合,然后subAggregation(AggregationBuilders.min("createdDate")
是这个日期,然后topHits
是 subAggregation。但它返回我 3 次点击,而不是 1 次这个值。
elasticsearch - 唯一值的日期直方图
我正在使用 Elasticsearch 2.3,对于用户在我的网站上访问的每个网页,我都会生成一条包含用户会话 ID 和当前时间戳的记录。
因此,我几乎没有具有相同会话 ID 但时间戳不同的记录。
我正在尝试date_histogram
从用户记录中创建一个具有唯一会话 ID 的。
创建没有唯一性的直方图很容易:
但是是否有可能拥有具有唯一值的日期直方图(例如,每个唯一会话 id 的第一次出现)?
elasticsearch - Elasticsearch 数组值计数聚合
样本文件:
预期输出:
我的查询:
我可以使用下面的查询获得“ attribCount ”聚合。但我不知道如何获取每个属性值的计数。
当我使用 attributes.value 进行聚合时,它会给出总数。但我需要将它列在预期输出中给出的名称值下。
regex - Elasticsearch:如何按特定的 URL 路径过滤和分组?
我有一个索引,网址,如下所示:
该路径将存储来自 url 的 PATH 部分,例如:
将存储为:
我正在存储各种路径,所以可能更像:
我正在尝试找出每个路径具有的唯一网页浏览量。我不确定我应该怎么做,我应该使用正则表达式吗?
我想它看起来像(伪代码):
python - 使用 python elasticsearch 库在查询字典中添加 aggs
我正在尝试在 Python 的 sdk 中为 elasticsarch 添加一个 aggs 查询。Btu 我似乎无法让它工作。例如
执行
在没有 'aggs' 键的情况下执行相同的验证正确。如何在 dict 之类的查询中传递聚合以与 python 库一起使用?
elasticsearch - 弹性搜索 groupby 许多字段聚合
我不想通过使用 elasticsearch 聚合来实现以下组。SQL 等价物类似于(有点):
聚合会是这样的吗?
我不确定我是否正确理解了聚合的事情。我对吗?
创建了测试来模拟解决方案。我为每个存储桶名称和键或指标和值以 list[dict(str, T)] 的形式提取聚合
测试随机成功和失败。结果时间也不相等(尽管我提供的日期时间始终与您从查询中看到的聚合和新查询相同。)
试验结果:
elasticsearch - 如何按根文档中的字段对嵌套聚合中的热门命中进行排序?
我正在嵌套聚合中执行热门聚合。我希望通过根文档中的时间戳字段来排序最高命中,以便获得嵌套文档的最新版本(可能被索引到多个根文档中)。虽然语法似乎让我这样做,但提取的排序键似乎是“垃圾”;每个文档的数量都相同。(以下只是一个更复杂的聚合的片段——否则,该方法可能没有意义——但它具有我的问题的本质。)
在我的结果中,排序键与任何这样的“_index_time”都不匹配,并且更改排序顺序没有效果。“_index_time”在根文档中被声明为整数。如果我将查询中的“_index_time”更改为一些无意义的字符串,查询会出错,所以我知道我的要求是有意义的,但它没有执行排序——或者,至少,它没有正确要排序的数据。
如何正确排序根属性上的嵌套聚合?
或者,我尝试将 copy_to: 'nested_doc._index_time' 添加到 '_index_time' 声明中,虽然这让我将 'nested_doc._index_time' 指定为排序键,但它仍然导致无意义的排序键。该字段是否未正确定义?
elasticsearch - Elasticsearch 基数聚合给出错误的结果
两个聚合中 PARTY_ID 的计数应该相同。在一种情况下,它是 3000,另一种情况下,它是所有不相等的值 (2675 + 244 + 41 + 6 + 2 = 2950 ) 的总和。可能是什么原因?
结果 :