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-5 / 49.00

程序员作为一个职业、也作为一个群体,正逐渐从幕后走向前台,并以他们自己的能力加速改变着世界,也改变着人们生活的方方面面。然而,对于程序员,特别是年轻程序员们来说,如何理解自己的职业与发展,如何看待自己的工作与生活,这些问题往往比那些摆在面前的技术难题更让他们难以解答。 这本书从一个成熟程序员、一名IT管理者的角度,以杂记的形式为大家分享关于国内程序员职业生涯、个人发展、编程中的实践与认知乃至......一起来看看 《程序员的自我修养》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

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

正则表达式在线测试