在我目前的项目中,我希望改进搜索功能 . 在网上阅读了一些内容之后,我决定去Elasticsearch . 所以我几乎没有问题 . 我已经在数据库中填充了 生产环境 数据库 . 索引该数据库的最佳方法是什么?当我想将新记录添加到数据库时,我是否需要添加弹性搜索?或者创建某种工作来一段时间索引数据?我们如何在2个数据库( 生产环境 数据库,Elasticsearch数据库)中保持数据一致性?
任何建议,链接,评论等都非常欢迎谢谢
我不知道你是否还需要答案,但我目前使用的是Logstash . 我基本上有一个用于输入的jdbc sql插件和用于输出的elasticsearch插件 . 您基本上配置配置文件设置连接,执行查询,然后数据变异和输出 .
如果您查看以下文档:https://www.elastic.co/guide/en/logstash/current/index.html
配置的一个例子可以在下面看到,我已经读过你可以安排这个来将数据从sql数据库传输到索引,虽然我没有亲自设置它 .
请记住,您需要保护此数据传输,sql插件确实提供了对此的支持 .
input { jdbc { jdbc_driver_library => "file directory to sql driver" jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver" jdbc_connection_string => "" jdbc_user => "" jdbc_password => "" lowercase_column_names => false statement => "SELECT IGF_UID AS id, IGF_NAME AS name FROM dbo.IGT_ENTITY" } } filter { if ![id] { mutate { replace => {"id" => "00000000-0000-0000-0000-000000000000"} } } } mutate { remove_field => [ "@timestamp" ] remove_field => [ "@version" ] } } output { elasticsearch { hosts => "localhost" index => "entities" document_type => "entity" manage_template => false } }
1 回答
我不知道你是否还需要答案,但我目前使用的是Logstash . 我基本上有一个用于输入的jdbc sql插件和用于输出的elasticsearch插件 . 您基本上配置配置文件设置连接,执行查询,然后数据变异和输出 .
如果您查看以下文档:https://www.elastic.co/guide/en/logstash/current/index.html
配置的一个例子可以在下面看到,我已经读过你可以安排这个来将数据从sql数据库传输到索引,虽然我没有亲自设置它 .
请记住,您需要保护此数据传输,sql插件确实提供了对此的支持 .