问题标签 [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 投票
0 回答
2407 浏览

elasticsearch - Elasticsearch 无痛查询异常

我正在使用 Elasticsearch 6.2,它使用无痛的内联脚本。我的文档中的一个字段具有映射:

我有一个无痛的搜索脚本,几行是:

但这一直抛出一个错误:

我试图查看doc['gap_days']索引中的所有唯一值,您可以看到它们在所有文档中都是整数

那为什么它会抛出异常说cannot convert MethodHandle(Longs)long to (Object)int并且我的脚本停止工作。知道如何解决这个问题吗?

0 投票
0 回答
817 浏览

elasticsearch - 是否可以使用拆分桶的值在 Kibana 直方图中订购拆分系列?

假设我有一个产品销售索引,其中每个文档都是特定产品的单独销售。我可以使用 Kibana 绘制销售计数的日期直方图,按月分组。这将是每个月的产品销售频率。这是一个例子:

每月销售额

我还可以使用产品名称上的术语聚合来拆分该系列,因此我最终会得到每个月在每个产品中的销售额分布,如下所示:

每月跨产品的销售额

我不能做的,看起来很简单,就是按特定月份的产品数量对分布进行排序。我可以按字母顺序或按该产品的总销售额对其进行排序,但我不能使用该月的销售额来进行排序。这意味着,如果总体上最受欢迎的产品位于栏的底部(如上图中的绿色产品),即使该产品在特定月份的销售额低于其他所有产品,它也始终位于底部.

可以按每个月的产品数量订购这个系列吗?一般来说,有没有办法按每个“拆分”的值对拆分系列进行排序?

0 投票
1 回答
1729 浏览

elasticsearch - Elasticsearch:脚本度量聚合返回奇怪的分组

我得到了一个意想不到的结果,我有点迷茫。

添加了这些文档

当我这样请求他们时,一切都很好:

当我添加无痛脚本时会出现问题

它的输出如下所示:

第一个transactions数组包含两次 John,第二个是空的,然后是 May,再次为空,最后是 Marry。我不知道为什么它的分组如此奇怪

所需的输出将是一个包含所有用户(John、May、Marry、Mister)的数组。

感谢您的帮助,谢谢! 游戏

0 投票
2 回答
8773 浏览

java - Elasticsearch:比较日期(无痛脚本)

我的映射createdAt

插入这样的日期:

当我要求文件时

它显示了我插入它的日期:

现在我想将此日期与当前时间进行比较

奇怪:
doc.createdAt.value返回"2018-05-01T07:30:00.000Z",其中包括我从未添加的毫秒数

解析时发生此错误

当我用doc.createdAt.valuestring替换时2018-05-01T07:30:00.000Z,它可以工作。

任何帮助表示赞赏。非常感谢!

0 投票
1 回答
992 浏览

elasticsearch - 获取动态键值时的 Elasticsearch 错误

我的索引之一的部分映射如下:

现有文档的示例schools对象是:

我在 ES6.2 中有无痛脚本,其中动态key(例如 3896)在运行时计算并作为参数传递给脚本

所以如果传递key的值是 3896,那么这应该返回 12。但我收到一条错误消息

No field found for [schools.3896.min] in mapping with types [myindexname]

我究竟做错了什么?访问在运行时计算键名以获取其值的动态对象的正确方法是什么?

0 投票
1 回答
149 浏览

elasticsearch - 更新嵌套字符串字段

我正在尝试通过以下方式更新image.uri字段_update_by_query

但它会引发错误:

样本文件:

0 投票
1 回答
741 浏览

elasticsearch - elasticsearch 如何处理脚本更新查询中的返回?

我找不到描述 return 关键字的相关文档。这是在哪里记录的?

我正在运行以下查询

但我得到了错误

如果我删除 return 关键字,那么脚本会运行,但我会得到预期的错误行为。我可以通过使用布尔值来跟踪电子邮件删除来纠正这种行为,但为什么我不能早点返回?

0 投票
0 回答
187 浏览

elasticsearch - 用于 groovy tf 查询的 Elasticsearch 脚本引擎实现

目前,在 ES 5.6 上,我们正在使用 groovy 内联脚本来获取给定文档字段中给定术语的 tf,例如 -

所以它会返回我的响应,例如-

但是在 ES 6.0groovy支持下降之后,脚本引擎似乎是唯一剩下的解决方案,并且由于缺乏对 Elasticsearch 类和内部行为的正确理解,很难弄清楚实现。

基于脚本引擎文档,我需要实现

实现此类或以其他方式实现所需输出将有很大帮助。

0 投票
0 回答
76 浏览

elasticsearch - 为 Elasticsearch 响应生成序列

如何为 Elasticsearch 查询中返回的每个文档生成一个序列(第一次点击 1,第二次点击 2,依此类推)。问候

0 投票
1 回答
125 浏览

elasticsearch - 将 Groovy 日期操作转换为无痛

我有一个 Elasticsearch 搜索查询,它使用我需要转换为无痛语言的 groovy 内联脚本

正如你所看到的,这抓住了'eventstartdate',去掉了时间(设置为00:00:00)

然后它与当前日期 (dtnow) 进行比较,如果小于当前日期,则将其更改为当前日期(实际上没有过去的日期,仅从今天开始)

我不是 Java 程序员,我相信 Painless 中的日期处理已经改变,所以希望转换上述内容?

谢谢