如何以最小延迟从 Elasticsearch 更新 Neo4j 图形数据库?

问题描述 投票:0回答:1

我有许多定期更新的 Elasticsearch 索引,我希望这些更新反映在 Neo4j 图形数据库中,在 Elasticsearch 中的项目索引和更新到 Neo4j 之间的延迟最小.

(此外,保持较低的管理工作量也很重要:例如,我只想更新一个 cypher 语句来定义索引文档和图表之间的映射,这样一旦我创建了索引,工作量就很有限将其数据添加到 Neo4j)。

是否可以使用 Elastic search watcherstriggers 来做到这一点?还是通过其他方式?

我知道 Neo4j 中的 APOC 库的 Elasticsearch 函数,但我宁愿在更新时从 Elasticsearch 推送,而不是从 Neo4j 拉取。 GraphAware 也有一个扩展,但它似乎主要针对 Neo4j 到 ES 方向。

elasticsearch neo4j neo4j-apoc
1个回答
1
投票

ElasticSearch 触发器可以发布 HTTP 请求,而 Neo4j 有一个 HTTP Api,因此这似乎是可行的:https://neo4j.com/docs/http-api/current/

如果我要在生产中执行此操作,我可能会开发一个微服务来侦听 Webhook 并将数据存储到 Neo4j 中。这样您就可以引入重试策略以及日志错误(如果没有其他的话)。

经过一些研究后,您可以使用 https://github.com/malike/elasticsearch-kafka-watch 等工具配置 ElasticSearch 将更新推送到 Kafka,然后使用 Neo4j Kafka Sink 摄取数据.

© www.soinside.com 2019 - 2024. All rights reserved.