我正在尝试创建一个Apache Nifi模型,允许我从Elasticsearch读取所有数据并将其存储到文件中。我已经正确连接了所有内容,但我遇到的问题是FetchElasticsearch进程需要一个文档标识符(应该如此),但我想让它搜索的索引中的每个项目不仅仅是ID为1的文档。我知道Nifi和process属性支持表达式语言所以我试过简单地使用一个应该匹配所有字符的正则表达式
${'*'}
但是当我这样做时我收到警告,因为该进程实际上查找的文字文件ID是*当然不存在。下面是截图,希望它有助于理解我的问题。
我正在搜索localhost:9300 / tweet_library / tweet /(正则表达式) 所以我想要tweet_library中的所有文件。任何帮助表示赞赏,谢谢。
答案 0 :(得分:3)
来自霍顿作品社区的回答:
" FetchElasticsearch处理器使用Get API,它需要单个文档标识符,并且不支持正则表达式。作为替代方案,您可以使用InvokeHttp来调用Multi-Get API或Search API,这样可以更好地控制多个文档的检索。"