Для досягнення успішного аналізу та використання даних в ElasticSearch важливо правильно налаштувати процес розбору інформації. Одним із найпоширеніших питань, яке виникає у користувачів, є як отримати ElasticSearch для коректного розбору наведеної нижче інформації.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
{ "data": [ { "type": "projection", "id": "2016597", "attributes": { "adjusted_odds": null, "board_time": "2024-02-16T17:00:00-05:00", "custom_image": null, "description": "NBASZN (27 Games Remaining)", "discount_percentage": 94, "end_time": "2024-02-22T21:00:00-05:00", "flash_sale_line_score": 0.5, "hr_20": true, "is_promo": true, "line_score": 9.5, "odds_type": "standard", "projection_type": "Single Stat", "rank": 0, "refundable": true, "start_time": "2024-02-22T21:00:00-05:00", "stat_type": "30+ Points Games", "status": "pre_game", "today": true, "tv_channel": null, "updated_at": "2024-02-16T17:01:34-05:00" }, "relationships": { "duration": { "data": null }, "league": { "data": { "type": "league", "id": "188" } }, "new_player": { "data": { "type": "new_player", "id": "60344" } }, "projection_type": { "data": { "type": "projection_type", "id": "2" } }, "stat_type": { "data": { "type": "stat_type", "id": "363" } } } } ] } |
Поточний Grok-шаблон виглядає наступним чином:
1 |
%{QUOTEDSTRING:field}: "%{TIMESTAMP_ISO8601:timestamp}%{QUOTEDSTRING:field2}.*?%{QUOTEDSTRING:field3}.*?%{QUOTEDSTRING:field4}.*?%{QUOTEDSTRING:field5}.* |
Проте він розбирає лише деякі поля, а більшість інформації додається до поля з назвою “message”. Якщо хтось може мені допомогти з цим, я буду вдячний!