最终,我想为PostgreSql中的数据提供一个可扩展的搜索解决方案。我的发现指向我使用Logstash将写入事件从Postgres传送到ElasticSearch,但是我没有找到可用的解决方案。我发现的解决方案涉及使用jdbc-
input 间隔查询Postgres的 所有 数据,并且不捕获删除事件。
我认为这是一个常见的用例,因此我希望你们可以与我分享您的经验,或者给我一些指导。
如果还需要通知DELETE并删除Elasticsearch中的相应记录,那么Logstash
jdbc输入确实没有帮助。您必须按照此处的建议使用解决方案来处理binlog
但是,如果仍然要使用Logstashjdbc输入,则可以做的就是在PostgreSQL中简单地软删除记录,即创建一个新的BOOLEAN列以将记录标记为deleted
。然后,Elasticsearch中将存在相同的标志,您可以term
通过对该deleted
字段进行简单查询就将它们从搜索中排除。
每当需要执行一些清理时,都可以删除deleted
PostgreSQL和Elasticsearch中标记的所有记录。
5.8.1.1 Elasticsearch 安装 安装 logstash ElasticSearch中 logstash安装和logstash-input-jdbc插件 安装 logstash-input-jdbc插件 logstash-plugin install logstash-input-jdbc # 在有网点环境下安装,将安装插件后的 logstash 拷贝到内网环境即可使用。 编辑
问题内容: 我正在考虑使用日常脚本来执行以下操作,以解决ES服务器上更新存在问题的任何情况(我还没有高可用性设置,即使如此,它仍然可能是在数据库和ES之间复制数据的情况下的良好做法)。在把这个脚本放在一起之前,我想我会检查一下是否要以正确的方式进行操作,以及是否应该使用任何库或技术。 该脚本将简单地从数据库中检索所有ID,并从ElasticSearch中检索所有ID,其中(当前时间的快照,因为它是
本文向大家介绍PostgreSQL 数据同步到ES 搭建操作,包括了PostgreSQL 数据同步到ES 搭建操作的使用技巧和注意事项,需要的朋友参考一下 安装python 和dev 开发包 安装 multicorn 安装pg-es-fdw-master 安装插件 multicorn es 启动es 创建触发器和外部表 新增数据测试 检查es数据 创建更新触发器 更新表数据 es查询变更 补充:l
问题内容: 我想将数据同步到,我读了很多关于Elasticsearch River插件和mongo连接器的文章,但是不推荐使用mongo 4和elasticsearch 7! 作为专有软件,我想使用它来同步两者…任何人都知道如何做到这一点? 问题答案: 您可以将MongoDB和Elasticsearch与Logstash同步;实际上,同步是Logstash的主要应用之一。安装Logstash之后,
问题内容: 我有一个Node.js / Express应用程序,该应用程序查询路由内的MySQL数据库,并将结果显示给用户。我的问题是如何在将用户重定向到他们请求的页面之前运行查询并阻止直到两个查询都完成? 在我的示例中,我有2个查询需要在呈现页面之前完成。如果将查询2嵌套在查询1的“结果”回调中,则可以使查询同步运行。但是,当查询数量增加时,这将变得非常复杂。 如何在不将后续查询嵌套在先前查询的
问题内容: 目的 :将elasticsearch 与postgres数据库同步 为什么 :有时newtwork或集群/服务器中断,因此应记录将来的更新 本文https://qafoo.com/blog/086_how_to_synchronize_a_database_with_elastic_search.html建议我应该创建一个单独的表来同步elasticsearch的表,从而允许从上一个记