В моей ElasticHQ отображения:ElasticSearch Дата Поле Mapping Пороки
@timestamp date yyyy-MM-dd HH:mm:ssZZZ
...
date date yyyy-MM-dd HH:mm:ssZZZ
В вышеприведенном у меня есть два типа поля даты каждого с отображением в том же формате.
В данных:
"@timestamp": "2014-05-21 23:22:47UTC"
....
"date": "2014-05-22 05:08:09-0400",
Как и выше, формат даты не отображает того, что думает ES У меня есть мои даты в формате. Я предполагаю, что в индексное время произошло что-то странное (меня не было).
Также интересно: При использовании запроса отфильтрованный диапазон как следующий, я получаю Разбор Exception поясняя, что моя дата слишком коротка:
GET _search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"date": {
"from": "2013-11-23 07:00:29",
"to": "2015-11-23 07:00:29",
"time_zone": "+04:00"
}
}
}
}
}
}
Но поиск с проверкой ошибок следующих проходов ЭС, но не возвращает результаты, я предполагаю, из-за форматирования даты в документах.
GET _search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"date": {
"from": "2013-11-23 07:00:29UTC",
"to": "2015-11-23 07:00:29UTC",
"time_zone": "+04:00"
}
}
}
}
}
}
Мой вопрос заключается в следующем: с учетом вышесказанного, есть ли способ, мы можем избежать того, чтобы Переиндексирование и изменить отображение и продолжают искать искаженные данные? У нас есть около 1 Тбайт данных в этом конкретном кластере и хотелось бы сохранить его, как есть, по понятным причинам.
также попытался был запрос, который прилипает к тому, что в данных:
"query": {
"range": {
"date": {
"gte": "2014-05-22 05:08:09-0400",
"to": "2015-05-22 05:08:09-0400"
}
}
}
Благодарим за отзыв. Я лучше посмотрел на данные с помощью техники прокрутки, которую вы мне показали, и кажется, что все мои данные преобразуются в часовой пояс -04: 00. Я также более подробно рассмотрел разборку Joda Time и смог найти различные строки DateTime, которые могли быть проанализированы (некоторые очень удивительные), но никто не нашел ничего в моем ES-индексе, поэтому мне интересно узнать об этом за вашим заявлением «Как вы правильно поняли, добавление UTC в конце устраняет проблему синтаксического анализа запроса (то есть отсутствующую часть ZZZ), но вы все равно не можете получить никаких результатов». – IanGabes
Все, что я подразумевал, заключалось в том, что ваш первоначальный запрос был испорчен, потому что в конце даты не было компонента часового пояса. Когда вы добавили UTC (или любой другой часовой пояс, если на то пошло), запрос был проанализирован правильно. Я не подразумевал, что запрос был более точным, просто он был синтаксически правильным. Дайте мне знать, как я могу помочь вам здесь? – Val
Могу ли я изменить свой запрос для правильного соответствия документов с часовым поясом -4: 00? – IanGabes