首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用java将数据索引为弹性时出错

使用java将数据索引为弹性时出错
EN

Stack Overflow用户
提问于 2018-11-20 13:57:37
回答 1查看 165关注 0票数 0

场景:我正在尝试将json数据索引为弹性数据。我收到一个错误,就像

17:13:38.146主要错误com.opnlabs.lighthouse.elastic.ElasticSearchIndexer - {"root_cause":[{"type":"illegal_argument_exception",“原因”:“不能将非对象映射map.audits.map.font-size.map.details.map.items.myArrayList.map.selector与对象映射map.audits.map.font-size.map.details.map.items.myArrayList.map.selector"}],”类型“:”illegal_argument_exception“合并,“原因”:“不能将非对象映射map.audits.map.font-size.map.details.map.items.myArrayList.map.selector与对象映射map.audits.map.font-size.map.details.map.items.myArrayList.map.selector"}合并

是什么引起了这个问题?请帮帮忙

代码

代码语言:javascript
复制
JSONObject newJsonObject = new JSONObject();
            JSONObject log = jsonObject.getJSONObject("audits");
            JSONObject log1 = jsonObject.getJSONObject("categories");
            newJsonObject.put("audits", log);
            newJsonObject.put("categories", log1);
            newJsonObject.put("timeStamp", time);
            Index index = new Index.Builder(newJsonObject).index(mongoIndexName+"1").type("data").build();
            DocumentResult a = client.execute(index);

基本上,我试图将3 json值添加到弹性指数中。请帮我解决我做错的事。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-20 14:07:42

错误消息意味着您正在尝试更改现有的映射。然而,在Elasticsearch中,这是不可能的。一旦创建了映射,就无法更改映射。

正如Shay Banon自己所解释的

您不能更改现有的映射类型,您需要创建一个具有正确映射的新索引,并再次对数据进行索引。

因此,您必须创建一个新的索引来创建此映射。取决于情况,你可以

  • 创建附加索引,或
  • 删除当前索引并从头开始重新创建它。

当然,在后一种情况下,您将丢失索引中的所有数据,因此相应地做好准备。

从这里拍摄:无法将机器学习(Beta)模块中的非对象映射与对象映射错误合并

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53394626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档