gpt4 book ai didi

elasticsearch - 复杂 bool 查询中的 Elasticsearch 错误

转载 作者:行者123 更新时间:2023-12-03 00:51:11 25 4
gpt4 key购买 nike

我试图在一个Elasticsearch查询中,我需要在elasticsearch表中搜索一个时间范围。我有记录有星际和结束时间。从UI中,我给出了开始时间和结束时间,这是我需要搜索文件的时间窗口。假设记录中开始时间和结束时间的时间窗口小于用户输入的时间窗口,我创建了以下查询:

    {
"_source":["filename","starttime","endtime"],
"sort":[{
"starttime":{"order":"asc"}
}],
"query":{
"bool":{
"should":{
"bool":{
"must":[
"range":{
"starttime":{
"lte":1489602610000
}
},
"range":{
"endtime":{
"gte":1489602610000,
}
}
]
}
},
"should":{
"bool":{
"must":[
"range":{
"starttime":{
"gte":1489602610000
}
},
"range":{
"endtime":{
"lte":1489689000000
}
}
]
}
},
"should":{
"bool":{
"must":[
"range":{
"starttime":{
"lte":1489689000000
}
},
"range":{
"endtime":{
"gte":1489689000000
}
}
]
}
}
}
}
}

我遇到错误

"Unexpected character (':' (code 58)): was expecting comma to separate Array entries\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@29263f09; line: 11, column: 33]"

最佳答案

您的查询存在几个问题:

  • 一个悬挂的逗号
  • 多个bool/should子句
  • range查询未正确包装在花括号


  • 您可以在下面找到正确的查询:
    {
    "_source": [
    "filename",
    "starttime",
    "endtime"
    ],
    "sort": [
    {
    "starttime": {
    "order": "asc"
    }
    }
    ],
    "query": {
    "bool": {
    "should": [
    {
    "bool": {
    "must": [
    {
    "range": {
    "starttime": {
    "lte": 1489602610000
    }
    }
    },
    {
    "range": {
    "endtime": {
    "gte": 1489602610000
    }
    }
    }
    ]
    }
    },
    {
    "bool": {
    "must": [
    {
    "range": {
    "starttime": {
    "gte": 1489602610000
    }
    }
    },
    {
    "range": {
    "endtime": {
    "lte": 1489689000000
    }
    }
    }
    ]
    }
    },
    {
    "bool": {
    "must": [
    {
    "range": {
    "starttime": {
    "lte": 1489689000000
    }
    }
    },
    {
    "range": {
    "endtime": {
    "gte": 1489689000000
    }
    }
    }
    ]
    }
    }
    ]
    }
    }
    }

    关于elasticsearch - 复杂 bool 查询中的 Elasticsearch 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53206959/

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