Включить все нечисленные c веб-сайты в запрос elasti c - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть этот запрос, который работает, как ожидалось. Единственная проблема заключается в том, что я хочу использовать регулярное выражение, чтобы включить все сайты amazon aws .com.

{
  "query": {
    "bool": {
      "should": [
        {
          "match_phrase": {
            "sourceIPAddress": "1.179.67.49"
          }
        },
        {
          "match_phrase": {
            "sourceIPAddress": "1.69.88.195"
          }
        },
        {
          "match_phrase": {
            "sourceIPAddress": "config.amazonaws.com"
          }
        },
        {
          "match_phrase": {
            "sourceIPAddress": "cloudtrail.amazonaws.com"
          }
        }
      ],
      "minimum_should_match": 1
    }
  }
}

Как мне добавить этот запрос к упомянутому выше?

{  "query": {    "regexp": {      "sourceIPAddress": {        "value": "[a-zA-Z].+"      }    }  }}

Регулярное выражение будет включать в себя все сайты (т. Е. Не цифры c) для запроса. Как мне упомянуть * .amazon aws .com?

1 Ответ

1 голос
/ 06 марта 2020

@ Val - верное значение - было бы лучше переиндексировать, используя пользовательские анализаторы . Для переиндексации вам потребуется некоторое время и усилия, но ваши запросы будут работать быстрее, чем приведенное ниже решение, использующее запрос с подстановочными знаками, - это дорого, потому что оно использует ведущий *. Обратите внимание, что я использую .keyword, потому что он не анализируется, и вам нужно экранировать точки, как в регулярном выражении.

{
  "query": {
    "bool": {
      "should": [
        {
          "match_phrase": {
            "sourceIPAddress": "1.179.67.49"
          }
        },
        {
          "match_phrase": {
            "sourceIPAddress": "1.69.88.195"
          }
        },
        {
          "wildcard": {
            "sourceIPAddress.keyword": {
             "value": "*\\.amazonaws\\.com*"
            }
          }
        }
      ],
      "minimum_should_match": 1
    }
  }
}

Попробуйте и посмотрите, останется ли производительность приемлемой. Если нет, вам придется переиндексировать.

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