Java 如何在elasticsearch中使用对象及其引用索引Json对象?
我最近正在与Elasticsearch合作,我遇到了一个不知道如何解决的问题 我有一个类似的Json:Java 如何在elasticsearch中使用对象及其引用索引Json对象?,java,json,elasticsearch,mapper,Java,Json,elasticsearch,Mapper,我最近正在与Elasticsearch合作,我遇到了一个不知道如何解决的问题 我有一个类似的Json: { "objects": [ "object1": { "id" : "12345", "name":"abc" }, "12345" ] } Object2是object1的引用,当我试图保存(或称为索引)到弹性搜索时,它说: “org.elasticsearch.index.mapper.MapperParsingExceptio
{
"objects": [
"object1": {
"id" : "12345",
"name":"abc"
},
"12345"
]
}
Object2是object1的引用,当我试图保存(或称为索引)到弹性搜索时,它说:
“org.elasticsearch.index.mapper.MapperParsingException:无法分析”
我在google上搜索后发现,因为object1是一个对象,而Object2被认为是一个字符串我们无法在项目中更改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"
},
{
...
}
]
}
你是怎么做到的?我运行这个命令,它就可以工作了
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"
},
{
...
}
]
}
谢谢你的问答,对不起,应该是[]而不是{},我修改了。我更新了答案:-)非常感谢!但是我们从另一个项目获得了json,这意味着我们不能更改json字符串的任何内容。你知道其他解决方法吗?可能elasticsearch中有任何设置或配置?抱歉!我不知道那个案子有什么解决办法,还是谢谢你。我们迫切需要改变我们的设计来避免这个问题。谢谢。谢谢你的问答,对不起,应该是[]而不是{},我修改了。我更新了答案:-)非常感谢!但是我们从另一个项目获得了json,这意味着我们不能更改json字符串的任何内容。你知道其他解决方法吗?可能elasticsearch中有任何设置或配置?抱歉!我不知道那个案子有什么解决办法,还是谢谢你。我们迫切需要改变我们的设计来避免这个问题。谢谢。这不是有效的JSON-在测试它哦,对不起,我没有注意到。我更新了它,谢谢你的回复这不是有效的JSON-在测试它哦,对不起,我没有注意到。我更新了,谢谢你的重拍