我试图在嵌入式Elasticsearch实例上使用ICU插件。我已经通过向pom添加依赖项来安装它,并设置插件的设置,这似乎是正确加载的:
INFO - [Quasar] loaded [analysis-icu], sites []
设置如下:
"index-name": {
"settings": {
"analysis": {
"analyzer": {
"ducet_sort": {
"tokenizer": "keyword",
"filter": [ "icu_collation" ]
}
}
}
}
我试图使用插件的地图位置如下所示:
"primaryName": {
"type": "string",
"fields": {
"sort": {
"type": "string",
"analyzer": "ducet_sort"
}
}
},
当我尝试将PUT
映射文件放入索引时,我得到以下异常:
org.elasticsearch.index.mapper.MapperParsingException: Analyzer [ducet_sort] not found for field [sort]
有人知道这里发生了什么吗?我之前做了一些调查,它在我的机器上安装了一个独立的实例...
谢谢!
编辑:我使用ES版本1.3.1和ICU插件版本2.3.0
答案 0 :(得分:1)
好的......几个小时后我发现了这个问题。配置不对,ES没有正确地拿起分析仪。这样做了:
{
"index": {
"analysis": {
"analyzer": {
"ducet_sort": {
"tokenizer": "keyword",
"filter": [ "icu_collation" ]
}
}
}
}
}
settings
位是不必要的。我不确定为什么会发生这种情况,但在文档中没有任何地方。