使用ElasticSearch同步PostgreSql数据
最终,我想为PostgreSql中的数据提供一个可扩展的搜索解决方案。我的发现指向我使用Logstash将写入事件从Postgres传送到ElasticSearch,但是我没有找到可用的解决方案。我发现的解决方案涉及使用jdbc-
input 间隔查询Postgres的 所有 数据,并且不捕获删除事件。
我认为这是一个常见的用例,因此我希望你们可以与我分享您的经验,或者给我一些指导。
回答:
如果还需要通知DELETE并删除Elasticsearch中的相应记录,那么Logstash
jdbc输入确实没有帮助。您必须按照此处的建议使用解决方案来处理binlog
但是,如果仍然要使用Logstashjdbc输入,则可以做的就是在PostgreSQL中简单地软删除记录,即创建一个新的BOOLEAN列以将记录标记为deleted
。然后,Elasticsearch中将存在相同的标志,您可以term
通过对该deleted
字段进行简单查询就将它们从搜索中排除。
每当需要执行一些清理时,都可以删除deleted
PostgreSQL和Elasticsearch中标记的所有记录。
以上是 使用ElasticSearch同步PostgreSql数据 的全部内容, 来源链接: utcz.com/qa/431838.html