OpenSearch 范围查询在日期上无法正常工作?

问题描述 投票:0回答:1

我使用

OpenSearch.Client
库创建了一个索引,并再次使用
OpenSearch.Client
对它执行查询。

我注意到某些范围查询在日期字段上无法按预期工作。

我尝试以 UTC 格式索引并发送所有日期,只是为了确定,但这没有帮助。

例如,这是我发送的查询(从日志中获取并通过

OpenSearch Dashboards
进行测试):

POST documents/_search
{
  "query": {
    "bool": {
        "adjust_pure_negative": true,
        "boost": 1.0,
        "must": [
            {
                "bool": {
                    "adjust_pure_negative": true,
                    "boost": 1.0,
                    "must": [
                        {
                            "range": {
                                "copies.creationDate": {
                                    "boost": 1.0,
                                    "from": "2023-09-06T21:00:00Z",
                                    "include_lower": true,
                                    "include_upper": true,
                                    "to": "2023-09-29T20:59:00Z"
                                }
                            }
                        }
                    ]
                }
            }
        ]
    }
  }
}

...这是我得到的回报之一,将日期字段设置为

2023-09-05T07:59:53.0770000Z
:

这是怎么回事?

这两个值似乎都是 UTC 格式(我认为这就是

Z
的意思),并且查询中的
from
的值比搜索结果更大!

进一步增加查询

from
值确实会消除结果,但我不确定为什么它不能按预期工作。 OpenSearch 中是否内置了一些时区逻辑,导致事情变得糟糕?

这让我发疯。

date range opensearch
1个回答
0
投票

我看到

copies
是一个对象数组。除了屏幕截图中的日期之外,您的响应中的数组是否还包含满足范围查询的日期?如果是这种情况,您应该寻找嵌套查询。

© www.soinside.com 2019 - 2024. All rights reserved.