Как написать условные операторы в упругом поисковом запросе - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть простой 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 запроса. Как нам этого добиться, пожалуйста, обновите мой код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...