我正在使用Elasticsearch,并且正在构建一个客户端(使用Java Client API)来导出通过Logstash索引的日志。我希望能够在索引新文档(=添加了新的日志行)时得到通知(通过在某处添加侦听器),而不是查询最后X个文档。有可能吗?
kr98yfug1#
这就是你要找的:https://github.com/ForgeRock/es-change-feed-plugin使用这个插件,你可以注册到一个WebSocket频道来接收索引/删除事件,尽管它有some limitations。回到过去,可以安装河流插件将文档流传输到ES。河流功能已经被删除,但上面的这个插件就像一个“反向河流”,当文档被索引时,ES会通知外部客户端。非常有用,似乎是ES 6.x的最新版本
更新日期(2019年4月14日):
根据Elastic{ON}苏黎世2019上的说法,在7.x系列的某个阶段,将有一个Changes API,它将提供索引更改通知(文档创建、更新、删除等)。
更新日期(2022年7月22日):
ES 8.x已经过时了,变更API仍然遥遥无期......不过,很高兴知道,至少它仍然是开放的。
1条答案
按热度按时间kr98yfug1#
这就是你要找的:https://github.com/ForgeRock/es-change-feed-plugin
使用这个插件,你可以注册到一个WebSocket频道来接收索引/删除事件,尽管它有some limitations。
回到过去,可以安装河流插件将文档流传输到ES。河流功能已经被删除,但上面的这个插件就像一个“反向河流”,当文档被索引时,ES会通知外部客户端。
非常有用,似乎是ES 6.x的最新版本
更新日期(2019年4月14日):
根据Elastic{ON}苏黎世2019上的说法,在7.x系列的某个阶段,将有一个Changes API,它将提供索引更改通知(文档创建、更新、删除等)。
更新日期(2022年7月22日):
ES 8.x已经过时了,变更API仍然遥遥无期......不过,很高兴知道,至少它仍然是开放的。