3

我正在尝试创建一个 Apache Nifi 模型,该模型允许我从 Elasticsearch 读取所有数据并将其存储到文件中。我已经正确连接了所有内容,但我遇到的问题是 FetchElasticsearch 过程需要一个文档标识符(因为它应该),但我想获取索引中的每一个项目,而不仅仅是一个 ID 为 1 的文档。我知道 Nifi 和 process 属性支持表达式语言,所以我尝试简单地使用应该匹配所有字符的正则表达式

${'*'}

但是当我这样做时我会收到警告,因为该过程实际上会查找 * 的文字文档 ID,这当然不存在。以下是屏幕截图,希望它可以帮助理解我的问题。

尼菲流

FetchElasticsearch 进程属性

我正在搜索 localhost:9300/tweet_library/tweet/(regex expression) 所以我想要 tweet_library 中的所有文档。任何帮助表示赞赏,谢谢。

4

1 回答 1

3

霍顿工程社区的回答:

“FetchElasticsearch 处理器使用 Get API,它需要单个文档标识符并且不支持正则表达式。作为替代方案,您可以使用 InvokeHttp 调用 Multi-Get API 或 Search API,这使您可以更好地控制检索多个文档。”

于 2016-06-27T19:54:42.647 回答