ElasticSearch事件监听器

时间:2018-12-26 04:16:05

标签: java elasticsearch publish-subscribe

我的目标是仅利用Elasticsearch来构建 MQTT发布/订阅服务。

我想实现的案例研究场景是这样的:

  1. 用户A 在Elasticsearch索引内创建一条消息(文档)
  2. 用户B 进行警告并就索引上的新消息进行更新。

我使用的是普通的Java客户端,因为在Android中,我无法使用高级弹性搜索客户端。 我拥有使我能够从ES索引发送和读取文档的所有功能,但是我想找到一种最佳方法来为用户B实现订阅服务,而不必强迫他每隔几秒钟轮询一次更新。

关于此,我不知道从哪里开始。我在ES中找不到任何可用的触发器/ Websocket服务。请提供一些想法/文档。

1 个答案:

答案 0 :(得分:1)

您可以使用Elastic Search Watcher在满足特定条件时触发操作。 example用例是,如果您在Elastic Search实例中从Meetup.com提取实时数据,并希望接收有关您可能感兴趣的事件的电子邮件通知。

对于您的特定用例,您可以创建一个手表,该手表在用户A在索引中添加文档时触发。监视动作可能是向用户B发送电子邮件或调用您自己的API,负责通知所有已订阅用户A的用户(请参见Webhook action)。

我自己还没有尝试过,但这似乎是一个不错的起点。