目次
前々回紹介した、日本語Wikipediaのデータをインデックス登録する記事の続きです。
今回は、Kuromojiのアナライザを利用してインデックス登録してみます。
余談(Proxy環境でのプラグインインストール)
ElasticSearchのpluginコマンドはJavaで実装されています。(org.elasticsearch.plugins.PluginManager) プラグインのダウンロードには、java.net.URL.openConnection()から取得URLConnectionを使用しています。
ですので、pluginのインストールを行う際に、Proxy環境にある場合は以下のようにコマンドを実行します。
./bin/plugin -DproxyPort=ポート番号 -DproxyHost=ホスト名 -i elasticsearch/elasticsearch-analysis-kuromoji/1.5.0
elasticsearch-analysis-kuromojiのインストール
WikipediaのデータをKuromojiを使って、形態素解析ベースの転置インデックスを作成していきます。 まずは、Kuromojiを利用するために、Analysisプラグインのインストールです。 ElasticSearchのバージョンに対応したプラグインのバージョンがあります。(プラグインのページに対応したバージョンの記載あり) 今回はElasticSearchの0.90.3を利用しているため、1.5.0をインストールします。
./bin/plugin -i elasticsearch/elasticsearch-analysis-kuromoji/1.5.0
インストール後は再起動しておきます。 なお、Kuromojiを利用して、Wikipediaのデータを登録するばあい、デフォルトの設定では、ヒープが足りなくなるおそれがあります。 ElasticSearchの起動時に以下のオプションを指定して、最大ヒープサイズを2Gとしておきます。
export ES_HEAP_SIZE=2g;./bin/elasticsearch
Indexの作成(デフォルトでKuromojiのAnalyzerを利用する)
Wikipediaのデータを登録する際に、Kuromojiのアナライザを利用したいのが今回の趣旨でした。 一番ラクな方法として、Wikipediaデータのインデックスの設定として、デフォルトのアナライザをKuromojiにしてしまいます。 (きちんと設計する場合は、必要に応じてフィールドごとに指定しましょう)
curl -XPUT 'localhost:9200/ja-wikipedia-kuromoji' -d '{
"settings": {
"analysis": {
"analyzer": {
"default" : {
"type" : "kuromoji"
}
}
}
}
}'
これでkuromojiのアナライザがデフォルトで利用される形となります。 あとは、Riverを起動して登録するだけです。
Riverの実行
前回と一緒です。
インデックス名(_river/<インデックス名>/_meta)だけは、先ほど作成した「ja-wikipedia-kuromoji
」に変更してください。
curl -XPUT localhost:9200/_river/ja-wikipedia-kuromoji/_meta -d '
{
"type" : "wikipedia",
"wikipedia" : {
"url" : "file:/home/johtani/src/jawiki-latest-pages-articles.xml"
},
"index" : {
"bulk_size" : 10000
}
}'
あとは、インデックスされるのを待つだけです。
データ量とか
5.8gbになりました。Kuromojiを利用したため、形態素解析により単語にきちんとトークないずされた結果でしょう。 Uni-gramだと、転置インデックスのボキャブラリも単語に対してヒットするドキュメント数も大きくなるため、 インデックスサイズも大きくなっているのかと。
検索クエリのサンプルなどはまた後日。(夜遅いので。。。)
comments powered by Disqus
See Also by Hugo
- 辞書の更新についての注意点
- Elasticsearch 0.90.8がリリースされました&注意点(2013/12/20追記)
- elasticsearch-river-wikipediaの疑問点
- ElasticSearchにプラグインで日本語Wikipediaデータを入れてみました
- Elasticsearchの新しいJavaクライアント(2024年3月版)