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

さくら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

 

続いて起動設定を行います。

 

しばらくすると起動するので9200のポートでの確認を行います。

 

Apache Mavenのインストール

java のパッケージ管理の apache-maven のインストールを行います。

これで Sudachi のインストール準備が整いました。

 

Sudachi のインストール

インストールの実施をします。

インストールはこちらで完了です。

プラグインの確認を行ってみます。

 

辞書のインストール

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

今回は「dictionary_full」でインストールを行います。

 

次にサービスを再起動して Sudachi を有効にします。

 

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

 

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

まず、インデックスを作成するための設定ファイルを作成します。

 

次に設定ファイルからインデックスを作成します。

 

インデックスが作成されているかの確認を行います。

 

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

試験を実施してみます。

表記揺れのテストです。

 

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

ちなみにkuromojiでは以下のようになります。

 

続いてミュージシャンの人名で。

 

おっと、ダメでした。

ちなみにkuromojiでも。

 

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

 

続いて一般用語。

 

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

ちなみにkuromojiでも。

 

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

 

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

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

 

このブログは株式会社CoLabMixによる技術ブログです。

GCP、AWSなどでのインフラ構築・運用や、クローリング・分析・検索などを主体とした開発を行なっています。

Ruby on RailsやDjango、Pythonなどの開発依頼などお気軽にお声がけください。

開発パートナーを増やしたいという企業と積極的に繋がっていきたいです。

お問い合わせやご依頼・ご相談など

    関連記事

    1. シェルの中に平文のパスワードを埋め込まずに暗号化文字列を入力する方法

    2. Pythonでのgoogle-cloud-bigqueryライブラリを…

    3. scrapy-redisを使って、redisを使ったクローリングを試…

    4. [Rails] SJISのエクスポートでの「ActionView::T…

    5. Sky WayでMeetingアプリをReactで実装

    6. terraform構築手順〜EC2編〜