简体   繁体   English

如何根据要插入的文档在 Elasticsearch 中使用不同的分析器?

[英]How to use different analyzers in Elasticsearch depending on document to insert?

My mapping has 4 string fields:我的映射有 4 个字符串字段:

  • "name" “姓名”
  • "info" “信息”
  • "language" “语”
  • "genre" “类型”

and 4 custom analyzers:和 4 个自定义分析器:

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

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.

相关问题 用于文本分析的 Elasticsearch 分析仪 - Elasticsearch Analyzers for text Analysis 如何使用具有不同 lucene 分析器的全文索引在 neo4j 中进行索引和搜索? - How to use a full text index with different lucene analyzers for indexing and searching in neo4j? 如何创建一个Elasticsearch节点以指定默认搜索分析器进行索引和搜索 - How to create a Elasticsearch node specifying default search analyzers for indexing and searching 如何在java中的Elasticsearch索引文档中插入唯一数据 - how to insert unique data in Elasticsearch index document in java 如何在 Java Boot 中使用 RestHighLevelClient 将文档插入 ElasticSearch Spring - How to insert document into ElasticSearch using RestHighLevelClient in Java Spring Boot 如何根据按下的按钮使用不同的验证 - How to use different validations depending the button pressed 如何在不使用java apis指定文档ID的情况下将文档插入到elasticsearch中的索引中? - How to insert document to an index in elasticsearch without specifying document id using java apis? 在Elasticsearch 5.2中更新文档期间如何使用addScriptParam? - How to use addScriptParam during updating a document in elasticsearch 5.2? 在 Elasticsearch 中使用多个分析器创建和合并索引 - Create and merge indexes using multiple analyzers in Elasticsearch 如何在一个线程中使用Java在elasticsearch中插入和搜索? - How to insert and search in elasticsearch in one thread use Java?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM