Preskočiť na obsah
100% lokálne

Staviteľ elasticsearch dotazov

Preveď zoznam podmienok s poľom, operátorom a hodnotou na elasticsearch bool dopyt.

Výstup

Staviteľ elasticsearch dotazov

Vložte zoznam podmienok a tento nástroj zostaví kompletný elasticsearch search request: bool dopyt s vetvami must, should, must_not a filter, plus triedenie, stránkovanie a voliteľná agregácia. Ide o ideálny nástroj pre každého, kto ručne píše dopyt do Kibana Dev Tools, REST klienta alebo vyhľadávacej vrstvy aplikácie a chcel by skôr popísať podmienky ako každý raz prepisovať JSON skelety.

Každá podmienka je jeden riadok v poli Podmienky: voliteľná vetva (must, should, must_not, filter), názov poľa, voliteľný typ podmienky (term pre presné zhody, match pre fulltextové vyhľadávanie, range pre porovnávanie, exists pre kontrolu prítomnosti poľa) a hodnota — oddelené bodkočiarkami. "filter price range 100..500" vytvorí range doložku; "should title match wireless headphones" vytvorí fulltext zhodu na frázach; "must email exists" skontroluje, či je pole nastavené. Ak vynecháte typ, Predvolený typ podmienky ho doplní; ak vynecháte vetvu, Predvolená vetva ju doplní, takže aj rýchly zoznam ako "status active; category electronics" vytvorí platný dopyt.

Panel volieb pokrýva ostatnú časť skutočného search requestu: Pole na triedenie a poradie pridajú sort doložku, Počet výsledkov a Posunutie kontrolujú from/size stránkovanie, a Agregácia zapína terms alebo date_histogram bucket na vybrane pole. Zvýrazniť zhody pridá highlight blok pre match podmienky a Verzia jazyka dopytu prepína track_total_hits dostupný len od Elasticsearch 7 vyššie.

Všetko beží v tvojom prehliadači — podmienky ktoré napíšeš a dopyt, ktorý z toho vznikne, sa nikde nenahrávajú. Kopíruj výsledok priamo do Kibana Dev Tools alebo request body, stiahni si ho ako .txt súbor, alebo pošli výstup späť na vstup aby si s ním pokračoval v úpravách.

Časté otázky

Ako napíšem podmienku?
Jeden riadok na podmienku, oddelené bodkočiarkami: voliteľná vetva, názov poľa, voliteľný typ podmienky, potom hodnota — napríklad "must status term active; filter price range 100..500".
Čo znamenajú term, match, range a exists?
term sa zhoduje s poľom presne, match prehľadáva fulltext, range porovnáva pole s hranicami (napíšte "min..max", "min..", "..max" alebo ">=5"), a exists len skontroluje či je pole prítomné — bez hodnoty.
Čo sa stane ak vynechám vetvu alebo typ?
Predvolená vetva a Predvolený typ podmienky voľbe doplní tú časť ktorú riadok vynecháva, takže aj jednoduchý riadok "pole hodnota" stále vytvorí platnú podmienku.
Funguje dopyt so každou verziou Elasticsearch?
Bool dopyt, triedenie, stránkovanie, agregácie a zvýraznenie sú stabilné od Elasticsearch 6. Voľba Verzia jazyka dopytu mení len jeden detail: track_total_hits, ktorý bol predstavený v Elasticsearch 7 a vynecháva sa pre dotaz verzie 6.x.
Sú moje údaje dopytu nahrané niekde?
Nie. Dopyt sa buduje celkom v tvojom prehliadači z podmienok a volieb ktoré zadáš — nič sa nepošle na server.