Могу ли я указать тип поля в Elasticsearch как ip и ip_range? - PullRequest
0 голосов
/ 30 октября 2019

Я новичок в Elasticsearch и пытаюсь проиндексировать документы, которые имеют поле типа IP, как показано ниже:

{
  "mappings": {
    "properties": {
      "sourceIp": {
        "type": "ip"
      }
    }
  }
}

Мой вопрос заключается в том, что если бы я мог сопоставить sourceIp для приема ip и ipдиапазоны как значения?

Я пробовал multi_field, как показано ниже:

{
  "mappings": {
    "properties": {
      "sourceIp": {
        "type": "ip"
      },
      "fields": {
        "ip1": {
          "type": "ip"
        },
        "ip2": {
          "type": "ip_range"
        }
      }
    }
  }
}

Но это не сработало. Может кто-нибудь, пожалуйста, дайте мне способ решить это?

Спасибо.

1 Ответ

0 голосов
/ 30 октября 2019

Одним простым способом было бы скопировать поле ip во второе поле, скажем, второе поле называется sourceIpRange. Затем у вас есть 2 поля, и вы можете назначить разные типы для каждого.

Чтобы скопировать поле, вы можете сделать это до индексации в ES, то есть в logstash, или использовать процессор набора Elasticsearch Ingest: https://www.elastic.co/guide/en/elasticsearch/reference/master/set-processor.html

...