gpt4 book ai didi

elasticsearch查询嵌套对象数组

转载 作者:行者123 更新时间:2023-11-29 02:49:02 25 4
gpt4 key购买 nike

您好,我正在尝试获取一个查询以根据对象数组中的值进行过滤,结构如下

{
"_index": "test",
"_type": "home",
"_id": "1247816",
"_score": 1,
"_source": {
"TranCust": {
"CustId": 1247816,
"sourceNodeName": "SRC"
},
"TranList": [
{
"TranId": 2431015,
"batchNr": "211"
},
{
"TranId": 2431016,
"batchNr": "213"
}
]
}
}

例如,我想查找 TranId 为 2431015 的所有文档,我的查询如下所示

{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "TranList",
"query": {
"bool": {
"must": [
{
"match": {
"TranId": "2431015"
}
}
]
}
}
}
}
]
}
}
}

似乎没有返回任何结果,是否有更好的方法来尝试编写此查询?

编辑,这是放入的映射

{
"mappings": {
"home": {
"properties": {
"TranCust": {
"type": "object"
}
},
"TranList": {
"type": "nested"
}
}
}
}
}

最佳答案

好的,经过多次尝试,这就是我让它工作的方式

{
"query": {
"bool": {
"must": [{
"nested": {
"path": "TranList",
"query": {
"bool": {
"must": [{
"match": {
"TranList.TranId": "2431015"
}
}]
}
}
}
}]
}
}
}

关于elasticsearch查询嵌套对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33606074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com