2016-06-21 3 views

Antwort

0

Sie dies durch logstash tun können, wenn Sie Elasticsearch verwenden.

Führen Sie einen logstash Prozess mit einer Config wie

input { 
    elasticsearch { 
    hosts => "your_host" 
    index => "your_index" 
    query => "{ "query": { "match_all": {} } }" 
    } 
} 
filter { 
    grok { 
    match => { "your_string_field" => "%{NUMBER:num1} %{GREEDYDATA:middle_stuff} %{NUMBER:num2} %{GREEDYDATA:other_stuff}" } 
    } 
    mutate { 
    remove_field => ["middle_stuff", "other_stuff"] 
    } 
} 
output{ 
    elasticsearch { 
    host => "yourhost" 
    index => "your index" 
    document_id => %{id} 
    } 
} 

Dies würde überschreiben im Wesentlichen jedes Dokument in Ihrem Index um zwei weitere Felder, num1 und num2, die mit den Zahlen entsprechen, die Sie suchen. Dies ist nur ein schneller und dreckiger Ansatz, der mehr Speicher benötigt, aber es Ihnen erlauben würde, die gesamte Unterbrechung gleichzeitig durchzuführen, anstatt zur Zeit der Visualisierung.

Ich bin sicher, es gibt eine Möglichkeit, dies mit dem Scripting zu tun, schauen Sie in groovy Regex-Abgleich, wo Sie eine bestimmte Gruppe zurückgeben.

Auch keine Garantie, dass meine Konfiguration korrekt ist, da ich momentan keine Zeit habe, sie zu testen.

Guten Tag!

Verwandte Themen