问题标签 [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.
elasticsearch - 使用python部分更新elasticsearch列表字段值
这个问题的目的是询问社区如何在不删除该字段的任何其他内容的情况下部分更新字段。
StackOverflow 中有很多使用 python、curl 等来部分更新 ElasticSearch _source字段的示例。 elasticsearch python 库配备了一个elasticsearch.helpers
文件夹,其中包含函数 - parallel_bulk
、streaming_bulk
、bulk
,允许开发人员轻松更新文档。
如果用户在 pandas 数据框中有数据,则可以轻松地遍历行以创建生成器以在 elasticsearch 中更新/创建文档。Elasticsearch 文档是不可变的,因此,当发生更新时,elasticsearch 将传递的信息用于创建新文档,增加文档版本,同时更新需要更新的内容。如果文档有一个字段作为列表,如果更新请求有一个值,它将用该新值替换整个列表。(许多 SO QAs 涵盖了这一点)。我不想用新值替换该列表的值,而是将列表中的单个值更新为新值。
例如,在我的 _source 中,我有一个字段为 ['101 country drive', '35 park drive', '277 Thunderroad belway']。该字段具有三个值,但假设我们意识到此文档不正确,我们需要将“101 country drive”更新为“1001 country drive”。
我不想删除列表中的其他值,而是只想用新值更新索引值。
我是否需要编写一个无痛的脚本来执行此操作,或者是否有其他方法可以执行此操作?
示例:想要更新文档来自 ---
至
请注意,仅针对第一个索引更新地址,但索引号不应成为更新 _source 中地址值的因素。
在弹性搜索中部分更新文档同时保持该字段中剩余值的完整性的最有效和最pythonic的方法是什么?
elasticsearch - 无法将 MethodHandle(Dates)JodaCompatibleZonedDateTime 转换为 (Object)double
如果字段存在,我正在尝试添加条件,然后根据它进行排序,否则使用另一个字段。因为其中之一将存在。这是我的查询:
当我执行此查询时,我收到以下错误:
我也尝试过Double.parseDouble
方法,但它不起作用。这就是我的内部文件contextDates
elasticsearch - elasticsearch 比较文档并识别差异
这是映射;
这是我的弹性搜索数据;
我想要基于通过入口站进入但不通过出口站的序列号的记录。我只有进出站ID信息。根据上面的数据,X和Y序列号通过入口站,但只有X序列号从出口站出来。所以对我来说,里面的数据数是1,序列号是Y。顺便说一句,我有超过50,000个唯一的序列号。
elasticsearch - 脚本嵌套字段上的 ElasticSearch 聚合
我的 ElasticSearch 索引中有以下映射(简化为其他字段不相关:
数据看起来像这样(再次简化):
float_property
我正在尝试对每个文档的最大值执行存储桶聚合。因此,对于上面的示例,以下将是所需的响应:
因为 doca
的最高嵌套值为float_property
0.6,b
's 是 0.9,c
's 是 0.9。
我试过混合使用nested
and 和aggs
,runtime_mappings
但我不确定使用这些的顺序,或者这是否可能。