MySQLからelasticsearchへ、レコードをネスト構造化しつつ同期出来る fluent-plugin-mysql-replicator v0.4.0 を公開しました
elasticsearchは全文検索サーバとしても知名度を獲得しており、次のような記事も人気を集めています。
- elasticsearchを全文検索サーバとして活用するなら読んでおきたい、6つのブログ記事をピックアップ - Y-Ken Studio
http://y-ken.hatenablog.com/entry/essential-japanese-blogs-for-elasticsearch-study
MySQLでは実現の難しかったLuceneならではの次のような特徴を兼ね備えたelasticsearchはとても魅力ですよね。
- ファセット検索 (Facet)
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets.html - 柔軟な日本語処理 (kuromoji)
https://github.com/elasticsearch/elasticsearch-analysis-kuromoji - オートコンプリート (Completion Suggester)
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-suggesters-completion.html
しかしながらelasticsearchを中核となるデータベースとして扱うにはまだ日が浅いことは事実です。
そこで、私と同様にMySQLを補う形でelasticsearchを使いたいという方にとって有用な情報を本日お届けしたいと思います。
第3回elasticsearch勉強会でトークしました #elasticsearchjp
2014年2月7日にリクルートテクノロジーズで開催された「第3回 ElasticSearch勉強会」でトークしてきました!前回の皆様の発表はKibanaに関する情報がメインでしたが、今回は検索技術中心のガチな内容でとても楽しかったです。
懇親会では今回発表したYamabikoのコア部分である fluent-plugin-mysql-replicator を実際に利用している方もいらっしゃるなど、感謝感激雨あられでした!ありがとうございます!
その他にも2社合同で合同勉強会を開催しようといったお話を頂けるなど、実りのある時間を過ごせました。
MySQLテーブルへの更新/削除イベントを逐次取得するFluentdプラグイン「fluent-plugin-mysql-replicator」をリリースしました
任意のSQLクエリで取得した結果の差分から、insert/update/deleteイベントを検知するプラグインをリリースしました。イベント検知だけでなく、レコードの内容と共にElasticsearch/Solrへ同期を行う、Outputプラグインも同封しています。
これはあえてバイナリログ(MySQLBinlogAPI)は使わずに、SQLクエリの実行結果の差分を見てinsert/update/deleteイベントを検知します。
そのため、純粋なテーブル同期だけでなく、任意のJOINやVIEWテーブルを元とした差分同期処理が実現できるのが特徴です。
y-ken/fluent-plugin-mysql-replicator
- https://github.com/y-ken/fluent-plugin-mysql-replicator
- http://rubygems.org/gems/fluent-plugin-mysql-replicator