Диапазон на плавающем поле в ElasticSearch не работает должным образом
Я пытаюсь перечислить все документы в моем индексе, где поле "длительность" больше некоторого значения. Длительность типа float. Я установил значение 30. Однако на странице обнаружения несколько документов, длительность которых меньше 30, также отображаются вместе с документами длительностью больше 30. Странно, когда я применяю тот же фильтр в визуализации. На вкладке, использующей термин "таблица данных" в качестве "длительности", отображаются только длительности правильных документов. Я использую ElastAlert для создания оповещений, когда есть событие с продолжительностью больше 30, но, как и в случае с страницей обнаружения, оно вызывает оповещения для тех же документов с продолжительностью менее 30. Может кто-нибудь сказать мне, что может быть не так?
Это Query DSL для фильтра, который применяется к моей таблице данных, а также к результатам на странице обнаружения. Тем не менее, как-то только таблица данных дает мне правильные результаты:
{
"range": {
"duration": {
"gte": 30,
"lt": null
}
}
}
Это фильтр, который я использовал в ElastAlert, который также дает мне неправильные совпадения:
filter:
- range:
duration:
gt: 30