问题标签 [elasticsearch-painless]

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

java - 如何在使用带有 ScriptedMetricAggregationBuilder elasticsearch 的脚本时访问记录中的对象?

在这里,我正在尝试访问 recordtwo 属性,例如"doc.recordtwo.propertyone"

我得到了这个例外:

'Elasticsearch 异常 [type=illegal_argument_exception,reason=No field found for [recordtwo] in mapping with types [recordOne]]'

虽然我能够访问 id。IE

0 投票
1 回答
1704 浏览

elasticsearch - Elasticsearch 脚本查询无痛指数函数

使用 Elasticsearch 和无痛有没有办法实现指数函数?我似乎找不到任何东西。我有这样的东西。

我想在源字段中添加一些更复杂的数学,就像这样。

那可能吗?或者是否有另一种脚本语言可以在弹性搜索中做到这一点?

更新

实际上看起来我可以使用。

http://lucene.apache.org/core/6_0_0/expressions/index.html?org/apache/lucene/expressions/js/package-summary.html

如果有人有其他选择会很酷。

0 投票
0 回答
145 浏览

elasticsearch - 在关键字字段中拆分时出现运行时错误

这是我们在 ES 中的映射示例:

我们为使用 Python 测试的一些行编制了索引:

所以我尝试通过在 cat 字段上terms运行一个操作来运行一些桶聚合:split

但这会引发错误:

TransportError: TransportError(500, 'search_phase_execution_exception', '运行时错误')

在 ES 日志中,我可以看到以下消息:

为什么它不接受拆分操作?我们的设置有什么问题吗?

0 投票
0 回答
266 浏览

elasticsearch - 是否可以在 Elasticsearch 的无痛脚本中删除另一个文档?

我需要创建一个函数来合并文档。我知道如何更新要合并的文档,但我不想发送另一个删除正在合并的文档的请求。

在 Painless 脚本中,是否可以通过查询或 id 查找和删除另一个文档?

0 投票
0 回答
88 浏览

elasticsearch - 将父文档和子文档合并到一个文档中

是否可以使用重新索引或脚本将父文档和同一父文档的子文档合并到一个文档中,其中包含两个文档中的字段?

例如,假设父文档具有字段 A、B、C、D,子文档具有字段 D、E、F、G、H。我希望每个父子对都是一个包含字段 A、B、C、D、E、F、G、H 的文档。如果单亲有 3 个孩子,我需要三个文档,每个文档都有子字段和父字段。

我知道可以使用外部客户端来做到这一点。想知道这是否可以在集群中完成。

0 投票
1 回答
5103 浏览

elasticsearch - 如何在 ElasticSearch 内联脚本中使用 min/max?

在这里学习一些弹性搜索,我对在脚本字段定义中使用 min 和 max 函数有点难过。第一的,

我得到了回报

我想也许我需要给它命名空间然后Long.min回来

这似乎是进步,但为什么会出现问题doc

它们似乎在无痛的 API 参考中,我认为如果它们不可用会有点愚蠢。我一直在寻找“无痛最小最大功能”的组合,但我得到的只是我上面链接的内容和一堆不相关的东西。

我在这里做错了什么?

0 投票
1 回答
2043 浏览

elasticsearch - Elasticsearch 6.2 - 如何在无痛内联脚本中格式化 yyyymm 字符串中的日期(纪元)字段

在 Elasticsearch 6.2 中,我有一个索引,其中有两个时间戳字段,如下所示:

在我的无痛内联脚本中,为了进行一些计算,我想将它们(doc["start_ts"]doc["end_ts"])转换为这种字符串格式(yyyymm)。知道怎么做吗?我在 ES 官方文档中找不到任何格式化文档。

0 投票
1 回答
1397 浏览

elasticsearch - 如何使用无痛脚本执行弹性搜索 _update_by_query - 用于复杂条件

您能否建议如何根据条件字段更新文档(使用脚本 - 我猜是无痛的)?

其目的是从文档中添加/或删除值

所以如果我有这些输入文件:

我想执行这样的事情:

将所有具有“flag=true”的文档更新为:

  • 添加标签:“我”、“一个”
  • 已删除标签:“goo”、“foo”

所以预期的结果应该是这样的:

0 投票
1 回答
298 浏览

elasticsearch-painless - 如何从无痛脚本中提取参数长度

嗨,我想知道如何从无痛脚本中提取数组长度?

0 投票
1 回答
2574 浏览

elasticsearch - 如何使用无痛脚本将新字段添加到文档中

如果不存在,有没有办法在无痛脚本中创建文档中的字段?

我正在使用类似的东西:

但文档中可能不存在标签字段

可以吗?

谢谢。