Painless 找不到文档对象

问题描述 投票:0回答:1

我有一个简单的 Elasticsearch 查询,其中包含一个自定义排序无痛脚本,该脚本会影响返回结果的顺序。但是,我注意到该脚本对于所有文档字段(即地图和嵌套字段)无法按预期工作。为了调试这个问题,我对脚本做了一些小改动(见下图)。

Painless script

从图像中可以看出,结果中的文档的排序分数为 10,即使它包含

my_data
对象。为什么会出现这种情况呢?是否有其他方法来检查此类字段是否存在并正确迭代其键?

我什至尝试避免检查文档中键是否存在,因为我知道索引中的所有文档都包含

my_data
字段,但是当我这样做时,我收到以下错误:
No field found for [my_data] in mapping
。该字段在索引映射中正确定义。

elasticsearch elasticsearch-painless
1个回答
0
投票

对嵌套字段和映射使用

params._source
而不是
doc
可以解决该问题。

© www.soinside.com 2019 - 2024. All rights reserved.