さくらVPS の CentOS7 サーバに Elasticsearch 6.2.0 と Sudachi をインストールしてみる

さくらVPS に Elasticsearch 6.2 を入れて日本語形態素解析器 Sudachi を試してみます。

OS は CentOS 7系でのインストールを行います。

「Sudachi」についての詳細はこちらが詳しいです。

Elasticsearchのための新しい形態素解析器 「Sudachi」

 

Elasticsearch は 6.2 でインストールを実施しています。

ソースは以下にあります。
https://github.com/WorksApplications/elasticsearch-sudachi

6.4.1 などのバージョンで試してみましたがエラーとなりましたので、「pom.xml」でデフォルトでバージョン指定している「<elasticsearch.version>6.2.0</elasticsearch.version>」部分の 6.2.0 でのインストールを実施しています。

 

バージョン合わせが大変な場合は、Snapshot版リポジトリに合わせてダウンロードすると良いかもしれません。

こちらも最新版の ElasticSearch とはバージョンに若干の開きがあります。
(記事作成段階で最新は6.4.2、Snapshotは6.2.2)

 

Elasticsearch 6.2.0 のインストール

Elasticsearch 6.2.0 のインストールを行います。

公式ドキュメントの方法でRPMでのインストールを行います。
https://www.elastic.co/guide/en/elasticsearch/reference/6.2/rpm.html
[crayon-5dfbd767cf6aa719604196/]  

続いて起動設定を行います。
[crayon-5dfbd767cf6c6741692256/]  

しばらくすると起動するので9200のポートでの確認を行います。
[crayon-5dfbd767cf6ce863877520/]  

Apache Mavenのインストール

java のパッケージ管理の apache-maven のインストールを行います。
[crayon-5dfbd767cf6d6303713360/] これで Sudachi のインストール準備が整いました。

 

Sudachi のインストール

インストールの実施をします。
[crayon-5dfbd767cf6de412144474/] インストールはこちらで完了です。

プラグインの確認を行ってみます。
[crayon-5dfbd767cf6ea680175336/]  

辞書のインストール

「dictionary_full」が「dictionary_core」の上位版であり、「dictionary_core」の倍弱のファイルサイズです。 現在で110MBほどのサイズがあります。

今回は「dictionary_full」でインストールを行います。
[crayon-5dfbd767cf6f3556278955/]  

次にサービスを再起動して Sudachi を有効にします。
[crayon-5dfbd767cf6fb671542260/]  

以下を参照に「/etc/elasticsearch/sudachi/sudachi.json」ファイルを作成します。 https://github.com/WorksApplications/elasticsearch-sudachi
[crayon-5dfbd767cf704503961374/]  

インデックスを作成して解析の準備

まず、インデックスを作成するための設定ファイルを作成します。
[crayon-5dfbd767cf70f341437396/]  

次に設定ファイルからインデックスを作成します。
[crayon-5dfbd767cf718203876285/]  

インデックスが作成されているかの確認を行います。
[crayon-5dfbd767cf721482904655/]  

Sudachiプラグインを使った解析

試験を実施してみます。

表記揺れのテストです。
[crayon-5dfbd767cf72a590331141/]  

上記では「見積もり」も「見積り」も「見積もり」という同じトークンで表示されました。

ちなみにkuromojiでは以下のようになります。
[crayon-5dfbd767cf732103510869/]  

続いてミュージシャンの人名で。
[crayon-5dfbd767cf73b498601087/]  

おっと、ダメでした。

ちなみにkuromojiでも。
[crayon-5dfbd767cf744989263079/]  

微妙に区切られるトークンが変わります。

 

続いて一般用語。
[crayon-5dfbd767cf74d390474375/]  

きちんと「東京都知事選」をキーワードとして認識しています。

ちなみにkuromojiでも。
[crayon-5dfbd767cf756746747799/]  

こちらは一語ではダメでした。

 

ということで日本語解析ではSudachiの方が非常に強くなるようです。

特に文章系での表記のゆれなど大きな効果を発揮しそうです。