Как использовать термин с подстановочным знаком в ElasticSearch?

"Условия" и "Wildcard" предоставляются Elasticsearch. "Условия" - это поиск нескольких условий ИЛИ:

        {
          "terms": {
           "IP": [
              "192.168.100.11",
              "192.168.100.13"
            ]
          }

Подстановочный знак распознается * (звездочкой):

        {
          "wildcard": {
            "IP": "192.168.*.11"
          }

Я хочу объединить функции "подстановочный знак" + "условия". Как я могу это сделать? Например:

        {
          "wildcard": {
           "IP": [
              "192.168.*.11",
              "192.168.*.13"
            ]
          }

1 ответ

Решение

Ты можешь использовать bool"s should часть, я не думаю, что есть такой термин, как запрос wildcard а также should ведет себя как OR:

{
  "query": {
    "bool": {
      "should": [
        {"wildcard": {"IP": "192.168.*.11"}},
        {"wildcard": {"IP": "192.168.*.13"}}
      ]
    }
  }
}
Другие вопросы по тегам