Это может быть глупый вопрос, но я не смог отфильтровать индексы elasticsearch с помощью поля datetime. Я должен что-то упустить.Elasticsearch не может фильтровать по диапазону datetime
Это отображение:
"created_at": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis"
},
Это то, что я получил:
{
"_index": "myindex",
"_type": "myindextype",
"_id": "21c",
"_score": 1,
"_source": {
"code": "21c",
"name": "hello",
...
"created_at": "2015-04-30T13:10:50.107769Z"
}
},
С помощью этого запроса:
"query": {
"filtered": {
"query": {},
"filter": {
"range": {
"created_at": {
"gte": "2015-05-02T13:10:50.107769Z"
"format": "strict_date_optional_time||epoch_millis"
}}}}}
Я бы ожидать, чтобы отфильтровать записи выше. Но он ничего не возвращает.
Есть ли проблема с форматом времени? Потому что это прямо из Django Rest Framework serializers. Они утверждают, что это ISO 8601 формат и elasticsearch претензий same.
Я также хотел бы отфильтровать их по более простой дате типа «2015-05-02».
Я застрял. Заранее спасибо.
Редактировать: Неважно, что я пишу в фильтр диапазона. Он всегда возвращает все записи.