Generatore di query Elasticsearch
Trasforma un elenco di condizioni campo/operatore/valore in una query bool Elasticsearch.
Generatore di query Elasticsearch
Incolla un elenco di condizioni e questo strumento assembla una richiesta di ricerca Elasticsearch completa: una query bool con rami must, should, must_not e filter, più ordinamento, impaginazione e aggregazione facoltativa. È perfetto per chi scrive query manualmente in Kibana Dev Tools, un client REST o il livello di ricerca di un'applicazione, e preferirebbe descrivere le condizioni piuttosto che riscrivere ogni volta l'impalcatura JSON.
Ogni condizione è una riga nel campo Condizioni: un ramo facoltativo (must, should, must_not, filter), il nome del campo, un tipo di condizione facoltativo (term per una corrispondenza esatta, match per la ricerca full-text, range per confronti, exists per verificare che un campo sia presente) e un valore, separati da punto e virgola. "filter price range 100..500" crea una clausola range; "should title match wireless headphones" effettua una ricerca full-text su una frase; "must email exists" verifica che il campo sia impostato. Ometti il tipo e Tipo di condizione predefinito lo completa; ometti il ramo e Ramo predefinito fa lo stesso, così un elenco veloce come "status active; category electronics" produce comunque una query valida.
Il pannello delle opzioni copre il resto di una vera richiesta di ricerca: Campo di ordinamento e ordine aggiungono una clausola sort, Dimensione pagina e Offset controllano la paginazione from/size, e Aggregazione attiva un bucket terms o date_histogram nel campo che scegli. Evidenzia corrispondenze aggiunge un blocco highlight per qualsiasi condizione match, e Versione del linguaggio di query alterna track_total_hits, disponibile solo da Elasticsearch 7 in poi.
Tutto viene eseguito nel tuo browser: le condizioni che digiti e la query risultante non vengono mai caricate da nessuna parte. Copia il risultato direttamente in Kibana Dev Tools o in un corpo di richiesta, scaricalo come file .txt, o invia l'output di nuovo all'input per continuare a perfezionarlo.