2

我的映射有 4 个字符串字段:

  • “姓名”
  • “信息”
  • “语”
  • “类型”

和 4 个自定义分析器:

  • “english_custom_analyzer”
  • “french_custom_analyzer”
  • “spanish_custom_analyzer”
  • “arabic_custom_analyzer”

我希望能够在使用语言字段插入文档时指定要使用的分析器。因此,如果语言是英语,我想对文档字段使用英语分析器,如果语言是法语,我想使用法语分析器。

我尝试创建一个名为“language_name_analyzer”的额外字段,在插入时使用分析器名称填充该字段,并将分析器名称设置为“language_name_analyzer”。但我得到这个错误:

Cause: org.elasticsearch.index.mapper.MapperParsingException: Analyzer [language_name_analyzer] not found for field [datacontent_onair_title]

谢谢

4

1 回答 1

1

首先,我建议重新考虑使用此功能,因为它已从elasticsearch 2.0 的下一个主要版本中删除。

如果还想使用,需要language_name_analyzer在映射中指定字段的路径:

{
    "type1" : {
        "_analyzer" : {
            "path" : "language_name_analyzer"
        },
        "properties": {
            //// your other fields
        }
    }
}
于 2015-09-18T00:15:39.223 回答