У меня есть простой JSON-запрос для Elasticsearch, который выглядит следующим образом:
$startTime = "2019-07-09 13:53:00";
$endTime = "2019-07-11 13:53:00";
{
"size": 999,
"_source" : ["startTime", "endTime", "userId"],
"query": {
"bool": {
"must": [
{
"wildcard": {
"systemDetails": "*192.168.2.1*"
}
},
{
"range": {
"startTime": {
"gte": $startTime
}
}
},
{
"range": {
"endTime": {
"lte": $endTime
}
}
}
]
}
}
}
Теперь предположим, что значение $ startTime не пустое, тогда должен выполняться только первый диапазон запроса startTime
. $ EndTimeзначение не пустое, тогда должен выполняться только второй диапазон endTime
запроса. Как нам этого добиться, пожалуйста, обновите мой код.