gpt4 book ai didi

ElasticSearch 不适用于日期的实用程序范围

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

我正在使用 ElasticSearch,我的查询不是在寻找我想要的信息。

{
"query":
{
"bool":
{
"must":
[
{
"range":
{
"date":
{
"gte": "2016-04-29 00:00:01",
"lte": "2016-04-29 23:59:59"
}
}
}
]
}
}
}

结果是所有可能的日期,因此,就像查询不存在一样。
POST /Test/date
{
"date": "2016-04-28 13:43:14"
}

我运行的日子不同,所以我也运行
POST /Test/date
{
"date": "2016-04-29 13:43:14"
}


POST /Test/date
{
"date": "2016-04-30 13:43:14"
}

有人可以帮助我吗?

最佳答案

这应该有效。基本上,您需要自定义日期格式,否则 ES 会创建 string字段,而不是 date一个,因为它不识别格式。

DELETE test

PUT /test
{
"mappings": {
"date": {
"properties": {
"date": {
"type": "date",
"format": "yyyy-mm-dd HH:mm:ss"
}
}
}
}
}

POST /test/date
{
"date": "2016-04-28 13:43:14"
}
POST /test/date
{
"date": "2016-04-29 13:43:14"
}
POST /test/date
{
"date": "2016-04-30 13:43:14"
}

GET /test/date/_search
{
"query": {
"bool": {
"must": [
{
"range": {
"date": {
"gte": "2016-04-29 00:00:01",
"lte": "2016-04-29 23:59:59"
}
}
}
]
}
}
}

关于ElasticSearch 不适用于日期的实用程序范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36939433/

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