Non sono sicuro che questa sia una risposta alla tua domanda, la scriverò comunque perché qualcuno potrebbe trarne beneficio e ho trovato alcuni esempi sulla sintassi del filtro Kibana per essere elusivi quando usi google.
Sto cercando di definire un filtro booleano invece di una query booleana nella mia scheda Scopri, per sgombrare il campo di ricerca e fascinare ulteriormente il filtraggio su un insieme limitato di valori.
Ho trovato this link to the documentation dove è descritta la sintassi del filtro AND, OR, NOT. Dopo un po 'di sperimentazione, questo è stato ciò che ha funzionato per me, ad esempio:
Ho un campo denominato host
contenente il nome del server che invia la voce di registro. Ci sono parecchi server, ciascuno appartenente a uno dei numerosi gruppi di ridondanza. Per filtrare solo per le voci di registro prodotti dai server "SERVER06
O SERVER07
O SERVER08
" che capita di appartenere a un gruppo di ridondanza distinta B-Servers
posso fare un o un filtro in questo modo:
{
"bool": {
"should": [
{
"query": {
"match": {
"host": {
"query": "SERVER06",
"type": "phrase"
}
}
}
},
{
"query": {
"match": {
"host": {
"query": "SERVER07",
"type": "phrase"
}
}
}
},
{
"query": {
"match": {
"host": {
"query": "SERVER08",
"type": "phrase"
}
}
}
}
]
}
}
e salvarlo come una ricerca chiamata B-Servers
. Ora ottengo un elenco filtrato, dove posso selezionare un server con un ulteriore filtro più restrittivo. Prima di avere tutti i server e lo quick count
elencavo solo le cinque voci principali, quindi ho dovuto sceglierne uno e quindi modificare il filtro manualmente se il mio target non era nell'elenco.
Questo dovrebbe essere utile anche per altri campi di tipo stringa. La documentazione avrebbe dovuto includere un paio di altri esempi, penso, per impostare il contesto per il posizionamento della dichiarazione bool e non solo una dimostrazione del principio.
This link è stato anche utile per dimostrare come eseguire booleani dal campo di ricerca piuttosto che come filtro.
[EDIT] Un aggiornamento per Kibana 5.2 poiché non riuscivo a far funzionare la sintassi precedente. Di seguito ha fatto il trucco con 5.2, ho usato this link per capirlo:
{
"query": {
"bool": {
"should": [
{
"match": {
"host": "SERVER06"
}
},
{
"match": {
"host": "SERVER07"
}
},
{
"match": {
"host": "SERVER08"
}
}
],
"minimum_should_match": 1
}
}
}
Grazie per la punta (ho aggiornato la questione), ma non è proprio una risposta alla mia domanda. – Conffusion
L'idea è di avere cruscotti diversi aventi ciascuno criteri di filtro diversi ma riutilizzando le definizioni di visualizzazione. Specificare il filtro sulla visibilità significherebbe che ho bisogno di creare un set di visualizzazioni per dashboard. Questo è come è stato fatto in Kibana-3. – Conffusion
La domanda era di farlo con un filtro, dal momento che le prestazioni del filtro sono decisamente migliori –