Elasticsearch ICU 插件 - 找不到分析器
Elasticsearch ICU plugin - Analyzer not found
我正在尝试在 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
好的...几个小时后我发现了问题。配置不正确,ES 未正确拾取分析器。这样做了:
{
"index": {
"analysis": {
"analyzer": {
"ducet_sort": {
"tokenizer": "keyword",
"filter": [ "icu_collation" ]
}
}
}
}
}
settings
位是不必要的。我不太清楚为什么会这样,但文档中没有。
我正在尝试在 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
好的...几个小时后我发现了问题。配置不正确,ES 未正确拾取分析器。这样做了:
{
"index": {
"analysis": {
"analyzer": {
"ducet_sort": {
"tokenizer": "keyword",
"filter": [ "icu_collation" ]
}
}
}
}
}
settings
位是不必要的。我不太清楚为什么会这样,但文档中没有。