Sări la conținut
Complet local

Constructor de interogări Elasticsearch

Convertiți o listă de condiții câmp/operator/valoare într-o interogare bool Elasticsearch.

Ieșire

Constructor de interogări Elasticsearch

Lipiți o listă de condiții și acest instrument asamblează o cerere de căutare completă Elasticsearch: o interogare bool cu branch-uri must, should, must_not și filter, plus sortare, paginație și o agregare opțională. Este util pentru oricine scrie interogări manual în Kibana Dev Tools, un client REST sau nivelul de căutare al unei aplicații și ar prefera să descrie condițiile decât să rescrie construirea JSON de fiecare dată.

Fiecare condiție este o linie în câmpul Condiții: un branch opțional (must, should, must_not, filter), un nume de câmp, un tip de condiție opțional (term pentru o potrivire exactă, match pentru căutare full-text, range pentru comparații, exists pentru a verifica dacă un câmp este prezent) și o valoare — separate prin puncte și virgule. "filter price range 100..500" construiește o clauză range; "should title match wireless headphones" construiește o potrivire full-text pe o frază; "must email exists" verifică dacă câmpul este setat. Lăsați tipul gol și opțiunea Tip de condiție implicit o va completa; lăsați branch-ul gol și opțiunea Branch implicit face la fel, deci o listă rapidă precum "status active; category electronics" produce în continuare o interogare validă.

Panoul de opțiuni acoperă restul unei cereri de căutare reale: Câmpul de sortare și ordinea adaugă o clauză sort, Dimensiune pagină și Offset controlează paginația from/size, iar Agregare activează un bucket terms sau date_histogram peste un câmp pe care îl alegeți. Evidențierea potrivirilor adaugă un bloc highlight pentru orice condiții match, iar Versiunea limbajului de interogare comută track_total_hits, disponibil doar din Elasticsearch 7 înainte.

Tot rulează în browserul dvs. — condițiile pe care le tastați și interogarea care rezultă nu sunt niciodată trimise undeva. Copiați rezultatul direct în Kibana Dev Tools sau într-un corp de cerere, descărcați ca fișier .txt, sau trimiteți ieșirea înapoi la intrare pentru a continua să o rafinați.

FAQ

Cum scriu o condiție?
O linie per condiție, separate prin puncte și virgule: un branch opțional, numele câmpului, un tip de condiție opțional, apoi valoarea — de exemplu "must status term active; filter price range 100..500".
Ce înseamnă term, match, range și exists?
term potrivește un câmp exact, match caută text complet, range compară un câmp cu limite (scrieți "min..max", "min..", "..max", sau ">=5"), iar exists doar verifică dacă câmpul este prezent — nicio valoare necesară.
Ce se întâmplă dacă las branch-ul sau tipul gol?
Opțiunile Branch implicit și Tip de condiție implicit vor completa orice parte pe care o linie o omite, deci o linie simplă "field value" produce în continuare o condiție validă.
Interogarea funcționează cu toate versiunile Elasticsearch?
Interogarea bool, sortarea, paginația, agregările și evidențierea sunt stabile din Elasticsearch 6. Opțiunea Versiunea limbajului de interogare schimbă doar un detaliu: track_total_hits, care a fost introdus în Elasticsearch 7 și este omis pentru o interogare 6.x.
Sunt datele interogării mele trimise undeva?
Nu. Interogarea este construită în întregime în browserul dvs. din condițiile și opțiunile pe care le introduceți — nimic nu este trimis unui server.