我使用 ejabberd 服务器进行聊天通信。我希望能够动态搜索我的存档消息。现在我正在使用elasticsearch和logstash,但它仅适用于mysql db。这是我的logstash 配置
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/ejabberd"
jdbc_user => "ejabber"
jdbc_password => "password"
jdbc_driver_library => "mysql-connector-java-5.1.39-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
statement => "SELECT * FROM ejabberd.archive"
}
}
output {
# stdout { codec => json_lines }
elasticsearch {
index => "muc_room"
hosts => ["localhost:9200"]
}
}
我需要使用 mnesia DB,它是 ejabber 的默认基础。如何将mnesia DB与logstash连接,或者可以使用另一种方式将搜索引擎包含到mnesia DB中。谢谢
最佳答案
我会将数据直接从 ejabberd 发送到 elasticsearch。这样,如果您更改存储引擎,则无需更新两个单独的内容。有an Erlang package与 Elasticsearch 交谈。它的文档不是很好,但无论如何它是一个非常简单的界面。
关于mysql - Mnesia DB Elasticsearch ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39901284/