Ga naar inhoud
100% lokaal

Elasticsearch query maker

Zet een lijst met veld-/operator-/waarde-voorwaarden om in een Elasticsearch bool query.

Uitvoer

Elasticsearch query maker

Plak een lijst met voorwaarden in en dit gereedschap stelt een volledige Elasticsearch-zoekaanvraag samen: een bool query met must-, should-, must_not- en filter-branches, plus sortering, paginering en optionele aggregatie. Het is ideaal voor iedereen die query's handmatig schrijft voor Kibana Dev Tools, een REST-client of de zoeklayer van een applicatie en liever de voorwaarden beschrijft dan elke keer de JSON-structuur opnieuw intikt.

Elke voorwaarde is één regel in het veld Voorwaarden: een optionele branch (must, should, must_not, filter), een veldnaam, een optioneel voorwaardetype (term voor exact match, match voor zoeken in volledige tekst, range voor vergelijkingen, exists om te controleren of het veld aanwezig is) en een waarde — gescheiden door puntkomma's. "filter price range 100..500" maakt een range-clausule; "should title match wireless headphones" maakt een zoekopdracht naar volledige tekst op een zin; "must email exists" controleert of het veld is ingesteld. Laat het type weg en Standaard voorwaardetype vult het in; laat de branch weg en Standaard branch doet hetzelfde, dus een snelle lijst zoals "status active; category electronics" levert toch al een geldige query op.

Het optiepaneel behandelt de rest van een echte zoekaanvraag: Sorteerveld en -volgorde voegen een sorteerclausule toe, Paginagrootte en Offset bepalen from/size-paginering, en Aggregatie schakelt een terms- of date_histogram-bucket in over een veld naar keuze. Resultaten markeren voegt een highlight-blok toe voor alle match-voorwaarden, en Query-taalversie bepaalt track_total_hits, alleen beschikbaar vanaf Elasticsearch 7. Alles wordt in uw browser uitgevoerd — de voorwaarden en query worden nergens geüpload.

FAQ

Hoe schrijf ik een voorwaarde?
Één regel per voorwaarde, gescheiden door puntkomma's: een optionele branch, de veldnaam, een optioneel voorwaardetype, dan de waarde — bijvoorbeeld "must status term active; filter price range 100..500".
Wat betekenen term, match, range en exists?
term zoekt een veld exact, match zoekt in volledige tekst, range vergelijkt een veld tegen grenzen (schrijf "min..max", "min..", "..max", of ">=5"), en exists controleert alleen of het veld aanwezig is — geen waarde nodig.
Wat gebeurt er als ik de branch of het type weglaat?
De opties Standaard branch en Standaard voorwaardetype vullen in welk deel van een regel ontbreekt, dus een eenvoudige regel "field value" levert toch al een geldige voorwaarde op.
Werkt de query met elke Elasticsearch-versie?
De bool query, sortering, paginering, aggregaties en markering zijn stabiel sinds Elasticsearch 6. De optie Query-taalversie verandert maar één detail: track_total_hits, die in Elasticsearch 7 werd geïntroduceerd en voor een 6.x query wordt weggelaten.
Worden mijn query-gegevens ergens geüpload?
Nee. De query wordt volledig in uw browser opgebouwd uit de voorwaarden en opties die u invoert — er wordt niets naar een server verzonden.