LINUX

elasticsearchでMySQLのデータを同期してkuromojで日本語全文検索しkibanaで可視化する

2016/06/27

インストールするソフトと順番
mysql
elasticsearch
java
kuromoji
kibana
jdbc

elasticsearchとは

elasticsearch

kibana
①スケールが容易

elasticsearchはクラスタ構成が前提で、マシン1台の場合でも、1台構成のクラスタとして起動する。そのため、追加でelasticsearchマシンを同一のクラスタ名、かつ、同一ネットワークで起動すれば、既存データの分散やレプリカ等も自動で実行される。

② スキーマレス

最初にテーブルを定義しなくとも、すぐにデータ投入を開始できる。また、後からフィールドの追加が必要となった場合も、問題なく対応できる。当然、定義を明示的に行うことも可能である。

③可視化が容易

elasticsearchは、elasticsearch社が開発した可視化ソフトウェアのKibanaとの連携が優れており、簡単に結果データをグラフなどで閲覧することができる。

④リアルタイム検索

kuromojiとは

日本語形態素解析ソフトウェア

kibanaとは

kibana
elasticsearchの可視化

jdbcとは

elasticsearchとmysqlの連携

インストール

mysqlのインストール

リポジトリの追加

MySQL5.7のリポジトリの無効化

MySQL5.6のリポジトリの有効化

自動起動と起動

elasticsearchのインストール

リポジトリの追加

[java]

    起動はjavaをインストールした後!

起動したら動いてるか確認
curl http://localhost:9200

kuromojiのインストール

jdbcのインストール

kibanaのインストール

起動スクリプトの作成

実行権付与

起動と自動実行
systemctl start kibana4
systemctl enabled kibana4

動作確認

動作確認の準備としてmysqlに郵便番号のDBを突っ込んでいます。こちらの通りにデータを挿入しています。

同期ファイルの実行

試しに鈴木と検索してみる。

つらつら~っと何件か検索結果が出てくるはずです。

http://サーバのIP:5601にアクセス
index名のところにjdbcと入力してcreateをクリック

郵便番号のデータがあるのが見えるようになります。

-LINUX
-, ,