Mapping Set to Strict, Dynamic Introduction of [_Class] Within [_Doc] Is Not Allowed

栏目: IT技术 · 发布时间: 5年前

内容简介:这个异常非常的“有趣”,因为我GG了一圈,竟然一个相关的结果都没有。。。一开始以为自己碰到疑难杂症了,深呼吸一口打算去翻源码了。结果“非常不小心”被我在官方文档上以“_class”作为关键字检索到了相关的内容,好尴尬啊~官方在

这个异常非常的“有趣”,因为我GG了一圈,竟然一个相关的结果都没有。。。一开始以为自己碰到疑难杂症了,深呼吸一口打算去翻源码了。

结果“非常不小心”被我在官方文档上以“_class”作为关键字检索到了相关的内容,好尴尬啊~

官方在 Mapping Rules 这一章节中,提到了 Type Hints 的概念:

Mapping uses type hints embedded in the document sent to the server to allow generic type mapping. Those type hints are represented as _class attributes within the document and are written for each aggregate root.

在我这个新手看来,应该是Spring-Data-Elasticsearch库对将Elasticsearch返回的结果自动封装成POJO时需要的一个标识。很自然也很直观,对吧~

恶心就恶心在,如果你和我一样是初次使用,并且在Elasticsearch中将Index的Mapping设置成严格的静态类型,就会导致本文标题的这个异常。然后你就会开始发蒙, _class 这个属性是什么时候产生的。。。

解决这个异常的方法很简单,在我们的Mapping中增加_class属性的定义即可:

...
"mappings": {
        "dynamic": "strict",
        "properties": {
          "_class" : {
              "type" : "keyword"
            },
....

奇怪的是,全世界的开发者好像都没有碰到这个问题。。。是我确实太菜了吧可能。。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大数据之路

大数据之路

阿里巴巴数据技术及产品部 / 电子工业出版社 / 2017-7-1 / CNY 79.00

在阿里巴巴集团内,数据人员面临的现实情况是:集团数据存储已经达到EB级别,部分单张表每天的数据记录数高达几千亿条;在2016年“双11购物狂欢节”的24小时中,支付金额达到了1207亿元人民币,支付峰值高达12万笔/秒,下单峰值达17.5万笔/秒,媒体直播大屏处理的总数据量高达百亿级别且所有数据都需要做到实时、准确地对外披露……巨大的信息量给数据采集、存储和计算都带来了极大的挑战。 《大数据......一起来看看 《大数据之路》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具