【问题标题】:Kibana Lucene Date RangeKibana Lucene 日期范围
【发布时间】:2022-02-17 00:16:45
【问题描述】:

我知道这可以作为过滤器来完成,但出于“原因”,我需要将其作为 Lucene 查询来执行。

我有一个名为“FileLoadedToElasticDateTime”的字段,我正在尝试查找今年的任何记录,到目前为止我得到的结果为零。

我试过了:

FileLoadedToElasticDateTime:[2018-01-01 TO 2018-12-31]
FileLoadedToElasticDateTime:[20180101 TO 20181231]
FileLoadedToElasticDateTime:[2018-01-01T00:00:00 TO 2018-12-31T18:00:00] 
FileLoadedToElasticDateTime:[2018-01-01 00:00:00 TO 2018-12-31 18:00:00] <-- Error

这是该字段的文档视图:

ES Mapping 格式是 yyyy-MM-dd hh:mm:ss,我不确定 kibana 格式有没有搞错?

任何帮助将不胜感激。

这是我尝试使用时间格式的错误

Error: Request to Elasticsearch failed: {"error":{"root_cause":[{"type":"query_shard_exception","reason":"Failed to parse query [FileLoadedToElasticDateTime:[2018-01-01 00:00:00 TO 2018-12-31 18:00:00]]","index_uuid":"HRAubcpVQM2Zk2oUVqN7Ng","index":"analytical"}],"type":"search_phase_execution_exception","reason":"all shards failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"analytical","node":"Rb3ZRLUYTk-WmEEUOh4tdQ","reason":{"type":"query_shard_exception","reason":"Failed to parse query [FileLoadedToElasticDateTime:[2018-01-01 00:00:00 TO 2018-12-31 18:00:00]]","index_uuid":"HRAubcpVQM2Zk2oUVqN7Ng","index":"analytical","caused_by":{"type":"parse_exception","reason":"Cannot parse 'FileLoadedToElasticDateTime:[2018-01-01 00:00:00 TO 2018-12-31 18:00:00]': Encountered \" <RANGE_GOOP> \"00:00:00 \"\" at line 1, column 40.\nWas expecting:\n    \"TO\" ...\n    ","caused_by":{"type":"parse_exception","reason":"Encountered \" <RANGE_GOOP> \"00:00:00 \"\" at line 1, column 40.\nWas expecting:\n    \"TO\" ...\n    "}}}}]},"status":400}

我尝试将日期用引号括起来,但这也不起作用。

我没有得到其他查询的错误,只是零结果

【问题讨论】:

  • 你遇到了什么错误?
  • 刚刚添加到主帖,干杯

标签: elasticsearch lucene kibana


【解决方案1】:

您需要在日期和时间部分之间放置T 符号。

类似这样的:

FileLoadedToElasticDateTime:[2018-01-01T00:00:00 TO 2018-12-31T18:00:00]

有关日期格式的更多信息 - https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html

【讨论】:

  • 对不起,我忘了说我已经尝试过了。相同的零结果。我现在可以使用弹性支撑,所以当我得到答案时,我会在这里发布
  • @EdBaker 你有没有想过这个!?!请详细说明。
  • @harperville - 对不起,伙计 - 很久以前了!好久没接触ES了。一切顺利。
【解决方案2】:

我也遇到了这个问题。

如果你不在乎时间:

MyDate:[2022-01-01 TO 2022-02-01]

但是,如果您确实关心时间,则必须将每个日期括在引号中:

MyDate:["2022-01-01T00:00:00.000Z" TO "2022-02-02T00:00:00.000Z"]

【讨论】:

    猜你喜欢
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    相关资源
    最近更新 更多