Анализатор паттернов 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
}
]
}
Итак, мои цели заключаются в следующем:
- Извлеките поплавок, используя шаблон. Полагаю, я мог бы также использовать фильтр символов и просто удалить [A-Za-z]
- Возьмите результат шаблона (время) и затем сопоставьте его с новым полем.