Ingestnode Grokにてarraylistの処理について

Grok Processorが配列には対応していないと思いますので、全部Painless Scriptで実行するのはどうでしょうか?

POST /_ingest/pipeline/_simulate
{
  "pipeline": {
    "processors": [
      {
        "kv": {
          "field": "message",
          "field_split": """\s(?![\\\[\]!"#$%&'()*+,-./:;<>?@\^`{|}~\w[^ -~。-゚] ]+?(\s+|$))""",
          "value_split": "="
        }
      },
      {
        "script": {
          "lang": "painless",
          "source": """
              ctx.requestdomain = []; 
              for (line in ctx.request) {
                def matcher = /^https?:\/{2,}(.*?)\//.matcher(line);
                if (matcher.find()) { 
                  ctx.requestdomain.add('*' + matcher.group(1).trim() + '*'); 
                }
              }
            """
        }
      }
    ],
    "on_failure": [
      {
        "set": {
          "field": "_index",
          "value": "failed-index_ddi"
        }
      },
      {
        "set": {
          "field": "error",
          "value": "{{ _ingest.on_failure_message }}"
        }
      }
    ]
  },
  "docs": [
    {
      "_index": "aaa",
      "_id": "id1",
      "_source": {
        "message": "request=http://aaa.com/ request=http://bbb.com/"
      }
    }
  ]
}

その結果がこちら。

{
  "docs" : [
    {
      "doc" : {
        "_index" : "aaa",
        "_type" : "_doc",
        "_id" : "id1",
        "_source" : {
          "request" : [
            "http://aaa.com/",
            "http://bbb.com/"
          ],
          "requestdomain" : [
            "*aaa.com*",
            "*bbb.com*"
          ],
          "message" : "request=http://aaa.com/ request=http://bbb.com/"
        },
        "_ingest" : {
          "timestamp" : "2020-03-06T05:31:21.550618Z"
        }
      }
    }
  ]
}

およそ実現されたいことができているのではないかと思います。
ただし、これを行うためには、elasticsearch.ymlに以下を記述する必要があります。

script.painless.regex.enabled: true

過去の類似の問い合わせとしては、以下になるかと思います。

ご参考になれば幸いです。