@johtaniの日記 2nd

@johtani ‘s blog 2nd edition

Elasticsearch 0.90.8がリリースされました&注意点(2013/12/20追記)

昨夜、Elasticsearchの0.90.8がリリースされました。

リリースされた内容などについては、本家のブログ「0.90.8 released」をご覧いただくこととして。 1点注意したほうが良い点があります。

elasticsearch-analysis-kuromojiを利用している場合は、0.90.8に対応したバージョンがリリースされるのを待つ必要があります。

elasticsearch 0.90.8はLuceneのバージョンが4.6.0に変更されています。 Lucene 4.6.0では、TokenStreamというTokenizerのI/Fに変更があり、Tokenizerの実装を変更する必要があります。

現時点(2013年12月19日現在)のelasticsearch-analysis-kuromojiの1.6.0にはlucene-analyzers-kuromoji-4.5.1.jarが含まれており、この部分でI/Fが異なるためエラーが発生してしまいます。 プラグインをインストールする時点ではエラーは発生せず、実際にKuromojiのTokenizerやAnalyzerを利用するタイミングでエラーが出ます。 以下、0.90.8にanalysis-kuromojiの1.6.0をインストールした状態で_analyzeを実行した時のエラー。

1
2
3
4
5
curl -XPOST 'localhost:9200/_analyze?tokenizer=kuromoji_tokenizer&filters=kuromoji_baseform&pretty' -d '寿司が美味しかった'
{
  "error" : "IllegalStateException[TokenStream contract violation: reset()/close() call missing, reset() called multiple times, or subclass does not call super.reset(). Please see Javadocs of TokenStream class for more information about the correct consuming workflow.]",
  "status" : 500
}

ということで、1.7.0がリリースされるのを待つか、自分でmvn packageしてビルドする必要があります。 他にも独自でTokenizerなどを造られている方は注意が必要かと。

たぶん、すぐにリリースされるんじゃないかなぁと。

2013/12/20追記

とりあえず、masterブランチが0.90.8に変更されたみたいです。(と書いてるそばから、1.7.0がリリースされました) ということで、0.90.8では1.7.0を使うとエラーが出ないです。 (あと、踊り字対応のcharfilterも追加されたみたいです)

Comments