Анализатор паттернов ElasticSearch для захвата данных в новые поля

Я пытаюсь создать анализатор шаблонов, который будет искать журналы определенного формата, а затем извлекать данные из этого журнала и создавать из него новое поле.

Так, например, я попытался создать анализатор шаблонов:

PUT my_index/_settings
Content-Type: application/json; charset=UTF-8

{
    "analysis": {
        "analyzer": {
            "generation_time_analyzer": {
                "type": "pattern",
                "pattern": "/^Page generation time: (\\d+\\.\\d+)s$/",
                "lowercase": false
            }
        }
    }
}

Однако при тестировании я получаю ответ токенизатора:

GET my_index/_analyze
Content-Type: application/json; charset=UTF-8

{
    "field": "generation_time_analyzer",
    "text": "Page generation time: 4.43563456436s"
}

{
    "tokens": [
        {
            "token": "page",
            "start_offset": 0,
            "end_offset": 4,
            "type": "<ALPHANUM>",
            "position": 0
        },
        {
            "token": "generation",
            "start_offset": 5,
            "end_offset": 15,
            "type": "<ALPHANUM>",
            "position": 1
        },
        {
            "token": "time",
            "start_offset": 16,
            "end_offset": 20,
            "type": "<ALPHANUM>",
            "position": 2
        },
        {
            "token": "4.43563456436s",
            "start_offset": 22,
            "end_offset": 36,
            "type": "<ALPHANUM>",
            "position": 3
        }
    ]
}

Итак, мои цели заключаются в следующем:

  1. Извлеките поплавок, используя шаблон. Полагаю, я мог бы также использовать фильтр символов и просто удалить [A-Za-z]
  2. Возьмите результат шаблона (время) и затем сопоставьте его с новым полем.

0 ответов

Другие вопросы по тегам