elasticsearch-painless相关内容

Elasticsearch 搜索查询:为什么 params._source.nested_field.size() 在脚本中不起作用?

有很多关于这个的问题和答案,但仍然没有得到满意的答案.Elasticsearch 版本:6.5 索引映射 "_doc": {“特性": {“ssid":{“类型":“长"},“嵌套字段":{“类型":“嵌套"}}}} 搜索查询: {“询问": {“布尔":{“筛选": {“脚本": {“脚本":“params._source.nested_field.size() > 1"}}}}} ..

elasticsearch-painless - 操作日期

我正在尝试使用 elasticsearch 的脚本语言 painless 操作日期.具体来说,我试图添加 4 小时,即 14,400 秒. {“脚本字段":{“新日期字段":{“脚本": {"inline": "doc['date_field'] + 14400"}}}} 这会抛出 无法将 [+] 操作应用于类型 [org.elasticsearch.index.fielddata.Scrip ..
发布时间:2021-12-13 11:57:29 其他开发

ElasticSearch:从无痛脚本中的嵌套字段计算 arcDistance

我需要在 Painless 脚本中计算弧距,但在这种情况下还没有找到访问地理 API 的方法,即: 第一个点作为参数传递给脚本 - 这意味着我只获得原始值 第二点是从嵌套文档中读取的 - 这意味着我无法使用 doc[myGeoField].value API 读取该字段 在这两种情况下,我都无法实例化一个 org.elasticsearch.index.fielddata.Scrip ..
发布时间:2021-07-17 18:58:12 其他开发

Elasticsearch 脚本:可以将嵌套日期作为日期对象直接访问吗?

在我的 ES 数据中,有 nested 和 parent 日期字段.我需要在一个 ES 无痛脚本中使用这些日期.使用 parent 日期很容易操作,因为它被视为 时间对象.例如,将 parent 日期 doc['validFrom'] 转换为我刚刚使用的 UNIX 时间数字: doc['validFrom'].value.millis 但是对于像 params._source['offers' ..

elasticsearch node.js API使用无痛脚本从文档上的数组中删除对象会导致数组索引超出范围

我想在Elasticsearch中从文档上的数组中删除项目(对象),但是,每当我尝试使用无痛操作运行更新脚本时,都会收到“数组索引越界"异常. 我正在使用javascript elasticsearch npm包在elasticsearch中搜索相关文档,然后向我返回数据,例如: "_ index":"centres","_type":"doc","_id":"51bc77d1-b514- ..

如何添加"updatedAt"Elasticsearch文档的时间戳

我想确保某个doc_type的所有文档都具有一个"updatedAt"时间戳(ISO 8601),该时间戳将在文档更新时进行更新.它必须是服务器端的时间戳,因为我不知道我是否可以相信所有客户端时间都是同步的. 我使用摄取管道添加"createdAt"时间戳,但似乎不支持使用更新API的管道. 我尝试使用更新脚本(使用新提供的'ctx._now'值),但是无法将解析转换为ISO 8601 ..
发布时间:2021-05-03 20:30:27 其他开发

ElasticSearch:从存在的所有文档中删除字段(使用Painless?)

情况:我有一个带有严格映射的索引,我想从中删除一个不再使用的旧字段.因此,我使用映射创建了一个不包含该字段的新索引,然后尝试将数据重新索引到新索引中. 问题:重新索引时,出现错误,因为我试图将数据索引到映射中不可用的字段中.因此,要解决此问题,我想先重新删除原始索引中所有文档中的该字段,然后才能重新索引. PUT old_index/_doc/1{"field_to_delete":5} ..
发布时间:2021-05-03 20:26:15 其他开发

包含动态数据/nested_objects的聚合

我正在尝试汇总ElasticSearch中动态映射的字段. 例如: POST测试/_doc/1{“设置":{“范围":{“值":200,“显示":"200 km"},“发射机":{“值":1.2,“显示":"1.2 Ghz"}}} 设置下的属性是动态的.本质上,我需要这样的查询: {“大小":0,“查询":{" match_all" ;: {}},"aggs":{“设置" ..

如何将包含文件的变量传递给curl POST有效负载?

我正在尝试执行CURL命令以击中Elasticsearch端点,而我要做的实际上是从文件(多行文件)中读取脚本,然后将该脚本传递给JSON有效负载以进行POST请求.我不知道ho如何将其正确传递给有效负载. 我尝试了$ {script},“'" $ {script}“'".不确定下一步如何进行 我的脚本: int editScore(def x){x + 1;}ctx.new_po ..
发布时间:2021-04-27 20:25:04 其他开发

在script_score中使用嵌套值

我正在尝试在脚本分数中使用嵌套值,但是在使它起作用方面存在问题,因为我无法通过 doc 访问它来遍历该字段.另外,当我尝试像_type:images AND _exists_:colors这样在Kibana中查询它时,它将不匹配任何文档,即使当我单独查看它们时,所有文档中都清楚地显示了该字段.但是,我可以使用 params._source 来访问它,但是我读到它可能会变慢,因此不建议这样做. ..
发布时间:2021-02-15 18:49:14 其他开发

Elasticsearch-脚本过滤嵌套对象列表

我试图弄清楚如何解决ES 5.6索引中的这两个问题。 “映射“:{{ ” my_test“:{ ” properties“:{ ” Employee“:{ ” type“:”嵌套“, ” properties“: { “ Name”:{ “ type”:“ keyword”, “ normalizer”:“ lowercase_normalizer” }, “ Surname”:{ “ t ..
发布时间:2020-10-28 01:42:57 其他开发

Elasticsearch Painless:使用三个引号时出错:意外字符("\""(代码34))

我正在运行Elasticsearch的本地实例,并尝试在scripted_fields下使用"painless".我可以写一行脚本代码就好了,但是当我使用三引号(根据文档支持)创建多行脚本时,它给了我这个奇怪的解析错误. 运行单行脚本可以正常工作: { "script_fields": { "scripted": { "script": { "l ..
发布时间:2020-07-07 20:22:26 其他开发

使用ElasticSearch无痛脚本在params数组中检查值是否存在

我是ElasticSearch的新手.我正在一个项目中,我必须搜索与输入http://foo.bar/search?listing=123,456相匹配的列表.我建立了一个数组,其键和值相同,并表示列表ID.我尝试运行以下示例,但在包含附近失败.该脚本是为轻松编写语言而构建的.但是,我总是会遇到运行时错误. 我无法使它正常工作,我可能做错了什么? 'function_score' = ..
发布时间:2020-06-13 19:07:06 PHP