Я пытаюсь сделать запрос на поиск по запросу, где мне нужно найти временные рамки в таблице эластичного поиска. У меня есть записи, которые имеют время начала и окончания. И из пользовательского интерфейса я даю время начала и время окончания, то есть временные окна, по которым мне нужно искать файлы. Предполагая, что временное окно времени начала и окончания в записях меньше, чем временное окно, введенное пользователем, я создал следующий запрос:
{
"_source":["filename","starttime","endtime"],
"sort":[{
"starttime":{"order":"asc"}
}],
"query":{
"bool":{
"should":{
"bool":{
"must":[
"range":{
"starttime":{
"lte":1489602610000
}
},
"range":{
"endtime":{
"gte":1489602610000,
}
}
]
}
},
"should":{
"bool":{
"must":[
"range":{
"starttime":{
"gte":1489602610000
}
},
"range":{
"endtime":{
"lte":1489689000000
}
}
]
}
},
"should":{
"bool":{
"must":[
"range":{
"starttime":{
"lte":1489689000000
}
},
"range":{
"endtime":{
"gte":1489689000000
}
}
]
}
}
}
}
}
Я получаю ошибку
"Неожиданный символ (':' (код 58)): ожидалось разделение запятой
Записи массива \ n на [Источник:
org.elasticsearch.transport.netty4.ByteBufStreamInput@29263f09; линия:
11, столбец: 33] "