在elasticsearch中搜索dateoptionaltime字段

时间:2015-01-20 09:04:58

标签: date elasticsearch lucene

我试图根据elasticsearch(不是范围)中的日期字段查询行,使用lucene语法但没有得到预期的响应, 我使用_mapping检查了映射,它为索引提供了以下结果,对于在以下位置订购的字段:

ordered_at: {
type: "date",
format: "dateOptionalTime" 
}

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-date-format.html#date-math

http://joda-time.sourceforge.net/api-release/org/joda/time/format/ISODateTimeFormat.html#dateOptionalTimeParser()

建议采用以下格式yyyy-mm-dd(2015-01-03)。

以下是我尝试获取结果的一些格式:

_search?pretty=true&q=ordered_at:"2015\-01\-03"
_search?pretty=true&q=ordered_at:2015\-01\-03*
_search?pretty=true&q=ordered_at:2015-01-03
_search?pretty=true&q=ordered_at:[2015\-01\-03 TO 15\-01\-20]
_search?pretty=true&q=ordered_at:[2015-01-03 TO 15-01-20]
_search?pretty=true&q=ordered_at:[20150103 TO 150120]
_search?pretty=true&q=ordered_at:01/03/2015
_search?pretty=true&q=ordered_at:"20150103"
_search?pretty=true&q=ordered_at:20150103
_search?pretty=true&q=ordered_at:"2015-01-03T18:53:37.000Z" (this does work but i need to just submit date and not time)
_search?pretty=true&q=ordered_at:"2015-01-03"
_search?pretty=true&q=ordered_at:"2015-01-03*"
_search?pretty=true&q=ordered_at:2015-01-03*
_search?pretty=true&q=ordered_at:2015/01/03
_search?pretty=true&q=ordered_at:2015\01\03
_search?pretty=true&q=ordered_at:2015-01-03
_search?pretty=true&q=ordered_at:2015\-01\-03   
_search?pretty=true&q=ordered_at:2015-01-03*
_search?pretty=true&q=ordered_at:2015/-01/-03
_search?pretty=true&q=ordered_at:"2015-03-01"
_search?pretty=true&q=ordered_at:2015/03/01
_search?pretty=true&q=ordered_at:"2015-01-03"*

以下是我们通过其他字段查询时数据显示方式的示例:

ordered_at: [
"2015-01-03T18:53:37.000Z"
]

不知道我错过了什么,任何线索?感谢..

1 个答案:

答案 0 :(得分:0)

试试这个:q=date:[2015-01-03 TO 2015-01-20]