searchAnalytics buildTermIndex

Analyse technischer Logs mit Tokenisierung (Edge Case)

Scénario de test & Cas d'usage

Geschäftskontext

Ein IT-Sicherheitsteam analysiert Server-Logs auf Anomalien. Die Log-Einträge enthalten oft zusammengesetzte technische Zeichenfolgen (z.B. 'Error_404', 'Connection-Refused'). Um diese effektiv zu analysieren, müssen diese zusammengesetzten Begriffe in ihre Bestandteile zerlegt werden. Wir testen hier die Tokenisierungsfunktion.
Über das Set : searchAnalytics

Datenindizierung und Suchfunktionen.

Entdecken Sie alle Aktionen von searchAnalytics
Datenaufbereitung

Erstellung von Log-Daten mit technischen Sonderzeichen und zusammengesetzten Begriffen.

Kopiert!
1 
2DATA mycas.server_logs;
3LENGTH log_id $10 message $200;
4INFILE DATALINES delimiter=',';
5INPUT log_id $ message $;
6DATALINES;
7L001,Error_Connection_Refused at Port:8080, L002,Warning:Memory_Leak_Detected in module_X, L003,Info_Status_OK_System_Green, L004,Critical_Failure_Disk_Full_Exception, L005,Unknown_Error_Code_X99 ;
8 
9RUN;
10 

Étapes de réalisation

1
Extraktion der Begriffe, wobei zusammengesetzte Strings zunächst als ein Begriff erkannt werden.
Kopiert!
1 
2PROC CAS;
3searchAnalytics.significantTerms / TABLE={name='server_logs', vars={'message'}} docId='log_id' casOut={name='log_terms', replace=true};
4 
5RUN;
6 
2
Erstellung des Index mit aktivierter Tokenisierung, um zusammengesetzte Begriffe zu splitten.
Kopiert!
1searchAnalytics.buildTermIndex / TABLE={name='log_terms'} casOut={name='log_index_tokenized', replace=true} tokenize=true;
2 
3RUN;
4 
5QUIT;
6 

Erwartetes Ergebnis


Die Aktion erstellt die Tabelle 'log_index_tokenized'. Durch 'tokenize=true' werden Strings wie 'Error_Connection_Refused' nicht als monolithischer Block, sondern als einzelne Tokens (z.B. 'Error', 'Connection', 'Refused') indiziert, was eine feingranulare Suche nach Fehlerarten ermöglicht.