如何在 elasticsearch 中使用对象及其引用索引 Json 对象



我最近在使用Elasticsearch,我遇到了一个不知道如何解决的问题。

我有一个像这样的 Json:

{
  "objects": [
    "object1": {
     "id" : "12345",  
     "name":"abc"
    },
    "12345"
   ]
}

Object2 是 object1 的引用,当我尝试将(或称为索引(保存到弹性搜索中时,它说:

"org.elasticsearch.index.mapper.MapperParsingException: failed to parse">

在我谷歌搜索后,我发现因为对象 1 是一个对象,但对象 2 被认为是一个字符串。
我们无法在项目中更改我们的 json,那么在这种情况下,我该如何将其保存在 elasticsearch 中?

感谢您的任何帮助和建议。

你是怎么做到的?
我运行此命令,它可以工作。

PUT test/t1/1
{
  "objects": {
    "object1": {
     "id" : "12345",  
     "name":"abc"
    },
    "object2": "12345"
   }
}  

结果是:

{
   "_index": "test",
   "_type": "t1",
   "_id": "1",
   "_version": 1,
   "result": "created",
   "_shards": {
      "total": 2,
      "successful": 2,
      "failed": 0
   },
   "created": true
}

更新 1根据您的要求,其中一项可能会解决您的问题:

PUT test/t1/2
{
   "objects": [
      {
         "object1": {
            "id": "12345",
            "name": "abc"
         }
      },
      {
         "object2": "12345"
      }
   ]
}
PUT test/t1/2
{
   "objects": [
      {
         "object1": {
            "id": "12345",
            "name": "abc"
         },
         "object2": "12345"
      },
      {
       ...
      }
   ]
}

最新更新