#mysql #database #elasticsearch #erlang #logstash
#mysql #База данных #эластичный поиск #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. Спасибо
Ответ №1:
Я бы отправил данные непосредственно в elasticsearch из ejabberd. Таким образом, вам не нужно иметь две отдельные вещи, которые необходимо обновлять, если вы меняете механизмы хранения. Существует пакет Erlang для взаимодействия с Elasticsearch. Документация по нему невелика, но в любом случае это довольно простой интерфейс.