问题标签 [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.
elasticsearch - Elasticsearch 无痛查询异常
我正在使用 Elasticsearch 6.2,它使用无痛的内联脚本。我的文档中的一个字段具有映射:
我有一个无痛的搜索脚本,几行是:
但这一直抛出一个错误:
我试图查看doc['gap_days']
索引中的所有唯一值,您可以看到它们在所有文档中都是整数
那为什么它会抛出异常说cannot convert MethodHandle(Longs)long to (Object)int
并且我的脚本停止工作。知道如何解决这个问题吗?
elasticsearch - 是否可以使用拆分桶的值在 Kibana 直方图中订购拆分系列?
假设我有一个产品销售索引,其中每个文档都是特定产品的单独销售。我可以使用 Kibana 绘制销售计数的日期直方图,按月分组。这将是每个月的产品销售频率。这是一个例子:
我还可以使用产品名称上的术语聚合来拆分该系列,因此我最终会得到每个月在每个产品中的销售额分布,如下所示:
我不能做的,看起来很简单,就是按特定月份的产品数量对分布进行排序。我可以按字母顺序或按该产品的总销售额对其进行排序,但我不能使用该月的销售额来进行排序。这意味着,如果总体上最受欢迎的产品位于栏的底部(如上图中的绿色产品),即使该产品在特定月份的销售额低于其他所有产品,它也始终位于底部.
可以按每个月的产品数量订购这个系列吗?一般来说,有没有办法按每个“拆分”的值对拆分系列进行排序?
elasticsearch - Elasticsearch:脚本度量聚合返回奇怪的分组
我得到了一个意想不到的结果,我有点迷茫。
我添加了这些文档:
当我这样请求他们时,一切都很好:
当我添加无痛脚本时会出现问题:
它的输出如下所示:
第一个transactions
数组包含两次 John,第二个是空的,然后是 May,再次为空,最后是 Marry。我不知道为什么它的分组如此奇怪。
所需的输出将是一个包含所有用户(John、May、Marry、Mister)的数组。
感谢您的帮助,谢谢! 游戏
java - Elasticsearch:比较日期(无痛脚本)
我的映射createdAt
:
我插入这样的日期:
当我要求文件时
它显示了我插入它的日期:
现在我想将此日期与当前时间进行比较:
奇怪:
doc.createdAt.value
返回"2018-05-01T07:30:00.000Z"
,其中包括我从未添加的毫秒数。
解析时发生此错误:
当我用doc.createdAt.value
string替换时2018-05-01T07:30:00.000Z
,它可以工作。
任何帮助表示赞赏。非常感谢!
elasticsearch - 获取动态键值时的 Elasticsearch 错误
我的索引之一的部分映射如下:
现有文档的示例schools
对象是:
我在 ES6.2 中有无痛脚本,其中动态key
(例如 3896)在运行时计算并作为参数传递给脚本
所以如果传递key
的值是 3896,那么这应该返回 12。但我收到一条错误消息
No field found for [schools.3896.min] in mapping with types [myindexname]
我究竟做错了什么?访问在运行时计算键名以获取其值的动态对象的正确方法是什么?
elasticsearch - 更新嵌套字符串字段
我正在尝试通过以下方式更新image.uri
字段_update_by_query
:
但它会引发错误:
样本文件:
elasticsearch - elasticsearch 如何处理脚本更新查询中的返回?
我找不到描述 return 关键字的相关文档。这是在哪里记录的?
我正在运行以下查询
但我得到了错误
如果我删除 return 关键字,那么脚本会运行,但我会得到预期的错误行为。我可以通过使用布尔值来跟踪电子邮件删除来纠正这种行为,但为什么我不能早点返回?
elasticsearch - 用于 groovy tf 查询的 Elasticsearch 脚本引擎实现
目前,在 ES 5.6 上,我们正在使用 groovy 内联脚本来获取给定文档字段中给定术语的 tf,例如 -
所以它会返回我的响应,例如-
但是在 ES 6.0groovy
支持下降之后,脚本引擎似乎是唯一剩下的解决方案,并且由于缺乏对 Elasticsearch 类和内部行为的正确理解,很难弄清楚实现。
基于脚本引擎文档,我需要实现
实现此类或以其他方式实现所需输出将有很大帮助。
elasticsearch - 为 Elasticsearch 响应生成序列
如何为 Elasticsearch 查询中返回的每个文档生成一个序列(第一次点击 1,第二次点击 2,依此类推)。问候
elasticsearch - 将 Groovy 日期操作转换为无痛
我有一个 Elasticsearch 搜索查询,它使用我需要转换为无痛语言的 groovy 内联脚本
正如你所看到的,这抓住了'eventstartdate',去掉了时间(设置为00:00:00)
然后它与当前日期 (dtnow) 进行比较,如果小于当前日期,则将其更改为当前日期(实际上没有过去的日期,仅从今天开始)
我不是 Java 程序员,我相信 Painless 中的日期处理已经改变,所以希望转换上述内容?
谢谢