例如,我的ES数据库中有几个条目,其中的字段包含2020-02-26T05:24:55.757Z。是否可以(使用URI搜索、_search?q=...)搜索确切的日期?例如,在本例中,我希望查找2020-02-26年的项目。这有可能吗?
发布于 2016-11-22 06:27:18
是的,这是可能的。你可以参考query string documentation来获取更多信息。
curl localhost:9200/your_index_name/_search?q=your_date_field:%7B2020-02-26%20TO%20*%7D你需要对url进行编码。查询部分看起来像q=your_date_field:{2020-02-26 TO *}
REST api中的上述查询如下所示
{
"query": {
"range": {
"your_date_field": {
"gte": "2020-02-26"
}
}
}
}对于exact来说,下面的日期可以工作
curl localhost:9200/your_index_name/_search?q=your_date_field:2020-02-26发布于 2021-07-20 21:53:09
虽然这个问题很老,但我是偶然遇到的,所以也许其他人也会这样做。
如果只想在UTC中工作,可以使用match查询,如下所示:
{
"query": {
"match": {
"your_date_field": {
"query": "2020-02-26"
}
}
}
}如果您需要考虑在不同时区的特定日期匹配的内容,则必须使用range查询,例如:
{
"query": {
"range": {
"your_date_field": {
"gte": "2020-02-26",
"lte": "2020-02-26",
"time_zone": "-08:00"
}
}
}
}https://stackoverflow.com/questions/40729456
复制相似问题