首页 文章

Elasticsearch索引

提问于
浏览
1

在我目前的项目中,我希望改进搜索功能 . 在网上阅读了一些内容之后,我决定去Elasticsearch . 所以我几乎没有问题 . 我已经在数据库中填充了 生产环境 数据库 . 索引该数据库的最佳方法是什么?当我想将新记录添加到数据库时,我是否需要添加弹性搜索?或者创建某种工作来一段时间索引数据?
我们如何在2个数据库( 生产环境 数据库,Elasticsearch数据库)中保持数据一致性?

任何建议,链接,评论等都非常欢迎谢谢

1 回答

  • 1

    我不知道你是否还需要答案,但我目前使用的是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
        }
    }
    

相关问题