我最近和Elasticsearch合作,遇到了一个不知道如何解决它的问题。
我有一个Json喜欢:
{
"objects": [
"object1": {
"id" : "12345",
"name":"abc"
},
"12345"
]
}
Object2是object1的引用,当我尝试将(或称为索引)保存到弹性搜索中时,它说:
“org.elasticsearch.index.mapper.MapperParsingException:无法解析”
我谷歌后发现,因为object1是一个对象,但对象2被认为是一个字符串。
我们无法在项目中更改json,因此在这种情况下如何将其保存在elasticsearch中?
感谢您提供任何帮助和建议。
答案 0 :(得分:0)
你是怎么做到的?
我运行这个命令就可以了。
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"
},
{
...
}
]
}