mysql - Mnesia DB Elasticsearch

标签 mysql database elasticsearch erlang logstash

我使用 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/

相关文章:

mySQL 两个表在多个 NULL 上 LEFT JOIN

Android Studio 与 postgresql 的连接

sql - 如何在 Oracle DB 中按枚举排序

elasticsearch - 基于3个不同的Elasticsearch查询汇总结果

grails - Grails ElasticSearch插件:组件类型映射

mysql - 一个查询可以只对每个表使用一个索引吗?

MySQL 程序在多列中搜索具有多个参数的表

java - Realm - 在应用程序之间共享数据库

elasticsearch - 在 ElasticSearch 文档的列表中更新对象的属性?

sql - MySQL 查询使用相同的选择模式选择 2 列