当前位置: 首页 > 面试题库 >

ElasticSearch 5:具有multi_field的MapperParserException

胡飞舟
2023-03-14
问题内容

此映射不适用于ES 2.X,现在适用于ES 5,但出现了一个例外:

{  
"type1":{  
    "properties":{  
        "name":{  
            "type":"multi_field",
            "fields":{  
                "name":{  
                    "type":"string",
                    "index_analyzer":"standard",
                    "index":"analyzed",
                    "store":"no",
                    "search_analyzer":"standard"
                },
                "name_autocomplete":{  
                    "type":"string",
                    "index_analyzer":"autocomplete",
                    "index":"analyzed",
                    "store":"no",
                    "search_analyzer":"standard"
                }
            }
        }
    }
}

}

例外是:

没有在字段[名称]上声明类型[multi_field]的处理程序

有人有主意吗?谢谢!;)


问题答案:

multi-field 在ES 1.x中已弃用,在ES 5.x中已完全删除。

现在,通过使用可以支持多个字段fields,您可以像这样指定:

{  
  "type1":{  
    "properties":{  
        "name":{  
            "type":"text",
            "analyzer":"standard",
            "index":"analyzed",
            "store":"no",
            "search_analyzer":"standard"
            "fields": {
                "autocomplete":{  
                    "type":"text",
                    "analyzer":"autocomplete",
                    "index":"analyzed",
                    "store":"no",
                    "search_analyzer":"standard"
                }
            }
        }
    }
  }
}


 类似资料:
  • 本文向大家介绍windows7系统安装elasticsearch5.X,包括了windows7系统安装elasticsearch5.X的使用技巧和注意事项,需要的朋友参考一下 一、安装jdk ElasticSearch是基于lucence开发的,也就是运行需要java jdk支持。所以要先安装JAVA环境。 由于ElasticSearch 5.x 往后依赖于JDK 1.8的,所以现在我们下载JDK

  • 问题内容: 我是Elasticsearch的新手,正在尝试使用和字段创建多字段索引。有了这些字段,它们都工作得很好,但是当我尝试在数组中获取一些结果时,它返回一个空的数组。 我的资料: 对应: 搜索: 期望: 按,或搜索,应返回结果 搜索应返回结果 搜索应返回结果 搜索依据不应返回结果 我想念什么? 问题答案: Cross_fields具有约束,所有字段应具有相同的搜索分析器,或者所有查询项应出现

  • 问题内容: 我正在尝试从java.util.Date格式化日期。我需要这种格式: 。 如何从标准日期格式正确转换 ? 不幸的是,这段代码没有返回值。 问题答案: 只需将z转到upperCase 结果:2016-06-10T13:53:22 +0200

  • 问题内容: 我正在Oracle DB中插入一些记录。为了唯一,我正在使用SequenceGenerator。下面是代码: XxspPoInLineLocqty与XxspPoInLine具有@ManyToOne关系。当我坚持XxspPoInLine实体时,我收到以下错误: 我查看了stackoverflow,并为此找到了一些解决方案: 1.使用allocationSize = 1 因为我有5000+

  • 问题内容: 我有2个需要绑定在一起的文件:hibernate.cfg.xml和hibernate属性。如何使用PropertyPlaceholderConfigurer将它们彼此指向?是否可以不将它们声明为bean?(我是Spring的初学者)。每个答案表示赞赏。 提前致谢。 纳扎尔 hibernate.cfg.xml: hibernate.properties: 问题答案: 是的,您可以访问两个

  • 问题内容: 当其中的所有方法都是具体的时,有人在声明类抽象时有一些实际的编程情况吗? 问题答案: 好吧,您可能正在使用模板方法模式,其中存在多个都具有默认实现的覆盖点,但是组合的默认实现本身不合法-任何功能实现都必须是子类。 (是的,我不喜欢模板方法模式;)