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 位是不必要的。我不太清楚为什么会这样,但文档中没有。