Kibana Lucene Диапазон дат - PullRequest
0 голосов
/ 23 мая 2018

Я знаю, что это можно сделать как фильтр, но по «причинам» мне нужно выполнить это как запрос 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

Вот вид документа поля:

enter image description here

Формат ES Mapping: гггг-мм-дд чч: мм: сс, я не уверен, что мне не подходит формат кибаны?

Любая помощь будеточень признателен.

Вот ошибка, когда я пытаюсь использовать формат времени.

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}

Я попытался заключить дату в кавычки, и это тоже не работает.

Я не получаю ошибок с другими запросами, просто ноль результатов

1 Ответ

0 голосов
/ 24 мая 2018

Вам необходимо поместить символ 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

...