问题标签 [elasticsearch-scripting]

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 回答
79 浏览

elasticsearch - 如何在 Elasticsearch 中聚合位字段?

我有一个 60 位(一小时中的分钟数)字段,我想使用按位or运算符进行聚合,以便如果任何贡献值都设置了该位,则最终结果是一个位设置。

位字段的表示尚未确定,但最好让它有点紧凑,因为有很多记录进入聚合。

假设我们有三个文档,其中一个位域采用二进制值:0001, 1001, 1100. 逐位or聚合会将它们组合到值1101- 如果该位设置为任何值,则该位为真。很像求和聚合,而是按位运算。

我考虑过一个位位置数组(如果设置了位,则位置存在),但它有点冗长。

脚本化的度量聚合是可能的,但我有点不知道如何实现它。

脚本化的度量 agg 看起来像这个破碎的无痛代码:

感谢您的关注。

0 投票
1 回答
379 浏览

elasticsearch - 返回地理点数组的 Elasticsearch 距离

我需要返回Elasticsearch 数组中每个文档的多个地理点的距离。截至目前,我的结果只返回为数组计算的一个距离。

我从以下 StackOverflow 问题的代码开始: Return distance in elasticsearch results?

我的 elasticsearch 查询正文包含以下内容:

而且,我的 Elasticsearch 源文档在返回时与此类似。(请注意,位置是一个数组。)

]

目前,我的结果返回类似于以下内容:

但是在距离数组中,我需要为“位置”中的每个条目返回一个值。

0 投票
2 回答
562 浏览

java - Elasticsearch 使用 ElasticSearch API 与 java API 中的无痛脚本更新嵌套字段

有人可以解释 ES java api 有什么问题吗?我正在使用 ES api 通过脚本进行查询以进行更新,并且效果很好(下)

和java

正如您可能猜到的那样,java 因异常而失败

尝试了不同的选项,空车场,满车场,每次都出现上述异常。

0 投票
1 回答
167 浏览

elasticsearch - 如何在嵌套 script_score 的过滤器之间添加?

我正在使用给定的货币汇率动态过滤价格,并使用脚本生成的分数对其进行排序。但是有一件事我不知道该怎么做是范围过滤器。

例如,我只想让 product_platforms 匹配分数在 10 到 100 之间。

索引请求。

插入测试文件:

这是我的搜索查询:

我正在使用版本 7.10 顺便说一句。

0 投票
0 回答
85 浏览

elasticsearch - 如何显着最小化与脚本聚合的查询的弹性搜索查询执行时间

我在弹性搜索索引中有大约 1700 万个文档(它逐渐增加),用于聚合的属性标签之一的映射是

每个文档在该标签属性中有超过 500 个项目

现在在使用查询聚合文档时

它大约需要 20 秒,并且该字段标签中的值数量越高,执行时间的数量就越高。

我知道脚本查询很昂贵,那么有什么方法可以显着减少执行时间?

0 投票
1 回答
312 浏览

elasticsearch - Elasticsearch:_search 脚本中的计数查询

我正在尝试进行单个查询来更新 ES 索引中的一个字段值。

我有一个索引pages,其中包含有关页面的信息(id、、、、name等)timeparent_page_idchild_count

我可以parent_page_id使用具有此页面的文档数量id更新该字段parent_page_id

我可以使用默认的单个值更新字段,例如:

我正在尝试使用此代码来获取孩子的数量,但它不起作用。

我的问题是,我怎样才能script在变量中进行子计数查询以使真正的子计数child_count

0 投票
2 回答
182 浏览

elasticsearch - 当至少一个对象不包含必要字段时,按对象数组选择文档 Elasticsearch

我在 elasticsearch 中有文档,如果任何附件不包含 uuid 或 uuid 为空,我无法理解如何应用应该返回文档的搜索脚本。弹性 5.2 版本。文件映射

在弹性搜索中,它看起来像

结果,我想获取带有 _id 1 和 3 的附件。但是结果我得到了我尝试应用下一个脚本的脚本错误:

错误是下一个:

如果一个附件对象不包含 uuid ,是否可以选择文档?

0 投票
1 回答
51 浏览

elasticsearch - ElasticSearch 脚本查询忽略双值中的小数

我正在使用下面的查询来获取双精度值,但它忽略了点后的小数。

如果我们需要添加任何配置,您能帮我吗?

0 投票
0 回答
13 浏览

elasticsearch - 从文档 ElasticSearch(v7.14) 中的两个不同 JSONArray 中的两个属性创建聚合计数的可视化

输入文档的结构如下。键和值在文档中的两个单独的 JSONArray 中

输出应该是键的条形图和键的聚合计数。所以在这种情况下

我正在创建一个脚本来聚合嵌套文档的值。但是我没有找到任何关于提取和映射键 [i] 和值 [i] 的 ElasticSearch 文档

0 投票
1 回答
68 浏览

elasticsearch - 在 Elasticsearch 聚合中进行自定义映射的最佳实践

我想通过映射ES doc中的某个字段来进行自定义聚合。

我尝试利用术语聚合脚本。有数百个映射,因此我必须将它们全部放入 HashMap:

即使我使用存储的脚本,它也很难看,性能也很差。不知道为什么在我的脚本中执行要花费这么多时间。

我还尝试了脚本化指标聚合。与普通术语聚合相比,它更好但仍然很慢。

有什么方法可以加速映射?(运行时字段除外,因为我的 ES 版本不支持)