我想尝试使用波兰语支持的Elasticsearch,但我遇到了一些问题。 我安装了Stempel Analysis Plugin,我正在尝试创建一个使用波兰语分析器的索引:
curl -XPUT localhost:9200/polisz -d '{
"mappings" : {
"_default_" : {
"properties" : {
"text_entry" : { "type": "string", "analyzer": "polish" }
}
}
}
}
'
但是我收到一个关于无法识别分析器的错误:
{
"status" : 400,
"error" : "MapperParsingException[mapping [_default_]]; nested: MapperParsingException[Analyzer [polish] not found for field [text_entry]]; "
}
安装插件并重新启动ES后,我应该做些什么吗? 我找不到关于使用插件的任何具体说明,所以也许我只是做了一些明显错误的事情?
有关如何设置环境的更多详细信息: 我通过命令安装并使用ES和kibana运行docker image:
docker pull minimum2scp/es-kibana
docker run -d -p 8080:80 -p 9200:9200 --name es minimum2scp/es-kibana
我通过命令安装了Stempel插件:
host$ docker exec -it es bash
root@docker-es:/# /usr/share/elasticsearch/bin/plugin install elasticsearch/elasticsearch-analysis-stempel/2.4.2
然后我通过以下方式重新启动elasticsearch: root @ docker-es:/#service elasticsearch restart
我将不胜感激任何帮助! 的Krzysztof
答案 0 :(得分:4)
好的,我明白了。我的插件似乎无法正确安装。即使那个插件安装命令也没有返回任何错误,弹性搜索重启命令,Elasticsearch中有 Lucene版本不匹配(我不记得,但低于4.10.2)和插件(4.10) 0.3)。
只需查看elasticsearch.log文件就可以找到它...我的不好。
但还有更多内容:我切换到最受欢迎(由星星)的elasticsearch docker镜像,即:dockerfile / elasticsearch。它的ES版本1.4.2基于Lucene 4.10.2,仍然与插件Lucene 4.10.3不匹配。即使插件的作者声明它插入2.4.2(当前稳定)支持1.4 ES版本,这也会导致错误。 引用错误以便将来网络搜索问题:
[2015-02-13 10:57:11,850][INFO ][node ] [Necromantra] version[1.4.2], pid[1], build[927caff/2014-12-16T14:11:12Z]
[2015-02-13 10:57:11,851][INFO ][node ] [Necromantra] initializing ...
[2015-02-13 10:57:11,884][ERROR][plugins ] [Necromantra] cannot start plugin due to incorrect Lucene version: plugin [4.10.3], node [4.10.2].
[2015-02-13 10:57:11,884][WARN ][plugins ] [Necromantra] failed to load plugin from [jar:file:/data/plugins/analysis-stempel/elasticsearch-analysi
s-stempel-2.4.2.jar!/es-plugin.properties]
现在我选择了一个将插件降级到2.4.1的路径,这与我的ES 1.4.2一致。虽然从长远来看,我会寻找具有1.4.3 ES的docker图像,希望这也能升级Lucene版本。
Dadoonet,感谢您仔细查看我的问题。