我最近在使用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"
},
{
...
}
]
}