2015-03-20 13 views

risposta

23

Il campo di query in Kibana utilizza la sintassi di Lucene che contiene alcune informazioni su http://www.lucenetutorial.com/lucene-query-syntax.html.

Per escludere un termine che contiene un testo specifico, utilizzare

-field: "testo"

escludere testi diversi, io uso

-field: ("testo1 "o" testo2 ")

Se si tratta di due campi separati, t ry

-field1: "text1" -field2: "text2"

+1

Non credo OP stava parlando del campo query. In particolare il campo "Escludi pattern" durante la creazione di una visualizzazione. Non sembra che il campo Exclude Pattern sia la sintassi di Lucene. L'esclusione dei dati tramite la query esclude qualsiasi oggetto contenente la stringa di ricerca. Il pattern Exclude non è documentato molto bene, ma immagino che escluda solo quel termine dal grafico. –

+7

Anche se non può indirizzare l'OP, ho trovato la risposta alla mia domanda attraverso questo post. – jonnybazookatone

28

Se ho capito la tua domanda correttamente, si sta cercando di utilizzare il "Escludi pattern" per escludere alcuni valori dal popolamento in il grafico.

I campi "Escludi motivo" e "Includi motivo" sono per le espressioni regolari e sono documentati qui: http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html.

Se si desidera escludere più campi, si potrebbe fare qualcosa di simile:

term1|term2|term3 
+3

per espandere ulteriormente questo, mi ha aiutato a indicarmi la giusta direzione e poi a leggere [link] (https://www.elastic.co/guide/en/elasticsearch/reference/1.4/search-aggregations-bucket-terms -aggregation.html # _filtering_values) Vedo che se dovessi escludere 2 termini farei qualcosa di simile a questo '(. * test. *) | (. * monitor. *)' dove volevo escludere alcuni eventi che aveva "test" o "monitor" all'interno dei loro valori. – scaph01

+0

Quello che scaph01 ha appena detto è corretto. Nella mia produzione, uso (. * Word. *) | (. * Word2. *) E così via per escludere più parole – danstermeister