[英]How to use different analyzers in Elasticsearch depending on document to insert?
My mapping has 4 string fields:我的映射有 4 个字符串字段:
and 4 custom analyzers:和 4 个自定义分析器:
I want to be able to specify the Analyzer to use when inserting the document using the language field.我希望能够在使用语言字段插入文档时指定要使用的分析器。 So If the language is English I want to use the English analyzer for documents field and if the language is French, I want to use the French Analayzer.
因此,如果语言是英语,我想对文档字段使用英语分析器,如果语言是法语,我想使用法语分析器。
I tried to create an extra field called, "language_name_analyzer", populate that field with the analyzer name at insert time and set the analyzer name to "language_name_analyzer".我尝试创建一个名为“language_name_analyzer”的额外字段,在插入时使用分析器名称填充该字段,并将分析器名称设置为“language_name_analyzer”。 But I get this error:
但我收到此错误:
Cause: org.elasticsearch.index.mapper.MapperParsingException: Analyzer [language_name_analyzer] not found for field [datacontent_onair_title]
Thank you谢谢
First of all, I would recommend to reconsider using this feature since it has been removed from the next major release of elasticsearch 2.0.首先,我建议重新考虑使用此功能,因为它已从elasticsearch 2.0 的下一个主要版本中删除。
If you still want to use it, you need to specify the path to the language_name_analyzer
field in the mapping:如果还想使用,需要在映射中指定
language_name_analyzer
字段的路径:
{
"type1" : {
"_analyzer" : {
"path" : "language_name_analyzer"
},
"properties": {
//// your other fields
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.