Я написал плагин tokenizer сам и скомпилирую его с помощью maven. И elasticsearch работает хорошо после его установки. Но когда я пытаюсь использовать его для сегментных предложений, я получаю сообщение об ошибке ниже:Elasticsearch: NoClassDefFoundError после установленного плагина
java.lang.NoClassDefFoundError: com/github/kevinsawicki/http/HttpRequest
at org.elasticsearch.thulac.MyTokenizer.thulacSeg(MyTokenizer.java:32)
at org.elasticsearch.thulac.MyTokenizer.<init>(MyTokenizer.java:64)
at org.elasticsearch.thulac.MyAnalyzer.createComponents(MyAnalyzer.java:12)
at org.apache.lucene.analysis.AnalyzerWrapper.createComponents(AnalyzerWrapper.java:113)
at org.apache.lucene.analysis.Analyzer.tokenStream(Analyzer.java:182)
at org.elasticsearch.action.admin.indices.analyze.TransportAnalyzeAction.shardOperation(TransportAnalyzeAction.java:230)
at org.elasticsearch.action.admin.indices.analyze.TransportAnalyzeAction.shardOperation(TransportAnalyzeAction.java:60)
at org.elasticsearch.action.support.single.custom.TransportSingleCustomOperationAction$AsyncSingleAction$1.run(TransportSingleCustomOperationAction.java:161)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Я использую kevinsawicki/http-request. Это потому, что я не помещал банку http-request в java-путь elasticsearch? И в случае необходимости, где я должен это поставить?
спасибо.
Я установил elasticsearch, только разархивировав его и выполнив '[path_to_elasticsearch] bin/elasticsearch'. И я попытался поместить http-request.jar в папку elasticsearch/lib, но все равно получить NoClassDefFoundError. Должен ли я установить поиск elastics по-другому? – dreamszl
Это все тот же «NoClassDefFoundError»? – Alexander
Да, и, наконец, я реализую класс HttpRequest другим mothod. Но он работает для другого NoClassDefFoundError, яйца Json NoClassDefFound.Спасибо. – dreamszl