Elasticsearch использует icu_tokenizer из плагина анализа ICU.

Я пытаюсь установить плагин анализа ICU вручную в Elasticsearch 1.4.0. Я скачал elasticsearch-analysis-icu-2.4.1.jar, lucene-analyzers-icu-4.10.2.jar и icu4j-54.1.1.jar. Плагин нормально отображается в консоли, но когда я пытаюсь использовать icu_tokenizer, я получаю следующую ошибку:

NoClassDefFoundError[Could not initialize class org.apache.lucene.analysis.icu.segmentation.DefaultICUTokenizerConfig]

Этот класс фактически существует в lucene-analyzers-icu. Есть ли что-то, что мне не хватает?


person dchar    schedule 16.07.2015    source источник


Ответы (2)


Пробовали ли вы использовать установщик подключаемого модуля вместо загрузки файлов JAR вручную, как это предлагается в документацию?

./bin/plugin -install elasticsearch/elasticsearch-analysis-icu/2.6.0

Запустите команду и перезапустите сервер. Плагин будет зарегистрирован и работоспособен.

person Louis-Philippe Huberdeau    schedule 16.07.2015
comment
Я пробовал, но плагин не загружается, возможно, из-за прокси. Поэтому мне приходится устанавливать его вручную. Для Elasticsearch 1.4.0, согласно документации, правильная версия — 2.4.2. Странно то, что в логе консоли я вижу analysis-icu в строке [INFO][plugins]. - person dchar; 16.07.2015
comment
Вы должны иметь возможность указать информацию о прокси: elastic.co/guide/en/elasticsearch/reference/1.6/ - person Louis-Philippe Huberdeau; 16.07.2015
comment
Ты прав. Отличие в том, что вместо icu4j-54.1.1 скачался icu4j-53.1. Теперь проблема исчезла. - person dchar; 17.07.2015

Документ

sudo bin/elasticsearch-plugin install analysis-icu
person Alan    schedule 14.07.2017