目次
昨夜、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
を実行した時のエラー。
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 powered by Disqus
See Also by Hugo
- Elasticsearch 2.0.0-beta1リリース(日本語訳)
- Elasticsearch 1.7.1 および 1.6.2リリース(日本語訳)
- elasticsearch-analysis-kuromojiでユーザ辞書の利用方法(Jugemより移植)
- 2018年のElastic StackとElastic
- 2016年のElastic Stack