我正在尝试使用NIFI中的JSONelastisearchprocessor在弹性搜索索引上命中一个get请求。 现在,对于每个流文件,我都有一些传入的属性,基于此,我需要生成不同的get请求并将响应存储在某个地方。
我正在使用的处理器列表如下:
请求正文
{
"query": {
"nested": {
"path": "los",
"query": {
"bool": {
"must": [
{ "match": { "los.${proc_ins_id}":"784525" }},
{ "match": { "los._source.cibilPermission.VALUE_":"1" }}
]
}
}
}
}
}
我看不到正在生成请求,也没有得到任何响应,相反,我只获得proc_ins_id的值作为putfile中的响应。有人可以建议一些合适的方法吗?
还附有相关的屏幕截图以供参考。
答案 0 :(得分:1)
我假设您在Query
的{{1}}属性中提供请求正文。在这种情况下,应将JsonQueryElasticSearch
中的Destination
属性设置为flowfile-attribute
,因为如果将其设置为EvaluateJsonPath
并且flowfile-content
属性已配置为实际查询,JsonQueryElasticSearch甚至不会读取流文件的内容。
还将Query
和hits
连接到两个不同的处理器,因为如果将它们连接到同一处理器,则会得到original
流文件,该文件在original
处更新EvaluateJsonPath
中配置的目录。通常,除非需要,否则人们会自动终止PutFile
关系。您可能还需要配置original
关系,因为聚合结果将发送到该关系。