问题标签 [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.

0 投票
1 回答
162 浏览

elasticsearch - elasticsearch聚合分隔单词

我只是在浏览器插件(奇迹)中运行聚合,如下图所示,只有一个文档与查询匹配,但聚合用空格分隔,但我想为不同的文档聚合是没有意义的。在这种情况下应该只有一组计数为 1 和键:“卓尔游侠”。在elasticsearch中这样做的真正方法是什么.. 在此处输入图像描述

0 投票
1 回答
286 浏览

elasticsearch - 聚合查询的弹性搜索验证

我在奇迹中运行简单的聚合查询并没有问题地得到结果: 在此处输入图像描述

但是当我验证相同的查询时,它返回 false 并且在解释中它说“QueryParsingException”...... 在此处输入图像描述

如果其他查询有效,我可以验证它是否有效,如果无效,则为真假,即使我的聚合查询有效,并给我文档,其验证结果为假。为什么会这样?它的某种错误在这里?或者 ?

0 投票
1 回答
397 浏览

c# - 如何过滤elasticsearch文档中的集合

我有一个在我开始开发之前设计的数据模型。模型具有键值对的集合(它位于嵌套对象中)。我正在尝试过滤此集合上的特定键,如下所示:

例如:我正在尝试获取其键为“a”的值的总和,我尝试了如下查询

此查询返回每个文档中所有值的总和。

我认为这是正常的,目前的数据模型无法做到这一点。我搜索了类似的案例,但找不到。我认为 ElasticSearch 并不打算这样做。但其他团队成员并不相信。

我想也许我应该在程序中执行此操作,将整个文档转换为另一个对象并通过查询获取集合的总和。但在这种情况下,我为什么要使用弹性搜索,我可以使用 nosql 数据库或 redis 来做到这一点。

总和聚合器中的脚本字段可以帮助我吗?有没有办法在当前数据模型的弹性搜索中做到这一点?或者我应该在程序上做吗?

文件的映射

}

实际上我正在尝试计算每个 modelCode 的总和

0 投票
2 回答
4612 浏览

elasticsearch - Elasticsearch 聚合将结果转换为小写

我一直在玩 ElasticSearch,在进行聚合时发现了一个问题。

我有两个端点,/A/B。在第一个中,我有第二个的父母。因此,B 中的一个或多个对象必须属于 A 中的一个对象。因此,B 中的对象具有属性“parentId”,其父索引由 ElasticSearch 生成。

我想通过 B 的子属性过滤 A 中的父级。为了做到这一点,我首先按属性过滤 B 中的子级,并获取其唯一的父级 ID,稍后我将使用它来获取父级。

我发送这个请求:

并得到这个回应:

由于某种原因,过滤后的键以小写形式返回,因此无法向 ElasticSearch 请求父级

关于为什么会发生这种情况的任何想法?

0 投票
1 回答
2213 浏览

elasticsearch - 如何在 ElasticSearch 中对聚合进行排序和限制

例如,我有以下记录,其列为:(Country,City,Date,Income)

我的 sql 为:select country,city,max(date) as maxDate,sum(income) as sumIncome from testTable group by country,city order by maxDate desc,sumIncome desc limit 3. 所以结果应该是:

我将 ES 聚合编写如下,但它是错误的:

通过我上面的脚本,它得到了错误的结果,如下所示:

0 投票
1 回答
1153 浏览

elasticsearch - 加速 Elasticsearch 术语聚合/SELECT DISTINCT

我想知道是否可以加速 Elasticsearch 术语聚合。

我的实际目标是为某个查询选择多个不同的字段,例如,我将使用类似这样的查询。它可能会在以后包含嵌套文档:

所以我会找到所有以三星为公司的相关文件,并汇总其所有产品代码和国家代码(它们是整数)。

有没有办法加快这样的查询?我不在乎实际doc_count带回来的东西,我所需要的只是不同的价值观。也许有某种提示或更好的聚合来完成这项工作?

0 投票
1 回答
7868 浏览

elasticsearch - 跨多个索引的多个字段上的 Elasticsearch 聚合

我有两个索引 - 一个用于Application模型,另一个用于Databases模型(多对多关系)。

每个文档都被非规范化以包含来自其他模型的属性

对供应商名称执行多索引搜索 - 似乎我从两个索引中都得到了正确的结果。

挑战是在 vendor_name 字段上正确聚合

当结果仅来自数据库时,使用以下聚合似乎有效。我也试过field: '*vendor_name',但似乎没有用。

我错过了什么?模型应该改变吗?

更新 1:

根据@Andrie-Stefan - 这是两个索引映射的更准确表示(缩写为缩写):

数据库

应用

0 投票
1 回答
62 浏览

elasticsearch-aggregation - Elasticsearch sum aggregration

there is documents with category(number), and piece(long) fields. I need some kind of aggregration that group these docs by category and sum all the pieces in it

here how documents looks:

The query result must be like:

any advice ?

0 投票
1 回答
38 浏览

elasticsearch - Elasticsearch minBy

elasticsearch 有没有办法从包含最大值的文档中获取字段?(基本上与 scala 中的maxBy类似)

例如(嘲笑):

For which {"grouping":1,"a":2,"b":5},{"grouping":1,"a":1,"b":10} will return (something like): {"grouped":1,"withMax":5},其中最大值来自第一个对象,因为"a"那里更高。

0 投票
1 回答
2418 浏览

elasticsearch - ElasticSearch:按字段分组,使用条款聚合并按最低价格聚合

考虑 Articles 和 VariationGroups 之间的 OneToMany 关系。

在 ElasticSearch 中,每个文章文档都有一个“variationGroup”字段。

我使用术语聚合按文章文档的“variationGroup”字段对结果进行分组。
我使用 TopHits 子聚合来获取每个存储桶的第一个文档。

如何获得每个变体组的最低价格?如果我对术语聚合使用 Min 子聚合,则将根据与查询匹配的文档计算最低价格。

我想获得可以归入一个变体组的所有文档的最低价格。

例如,名为“Tshirt with stars”的 VariationGroup 包含 6 篇文章。查询“red Tshirt”返回这 6 篇文章中的 2 篇。
我想获得 6 篇文章的最低价格,而不仅仅是与查询匹配的 2 篇文章。

这甚至可能在同一个电话中吗?

这是相应的 json :