Tutorial di query di gamma Elasticsearch

Tutorial di query di gamma Elasticsearch
In Elasticsearch, possiamo ottenere i risultati di documenti che corrispondono a un intervallo specifico utilizzando la query di gamma.

Durante questa guida, imparerai a definire un parametro di portata nella query di ricerca utilizzando espressioni booleane come maggiore, meno di e più.

Elasticsearch Range Query: Utilizzo di base

Per specificare un intervallo specifico in una query di ricerca, possiamo utilizzare il parametro di intervallo seguito dal campo e le condizioni per verificare.

Prendi la query di seguito che restituisce i documenti in cui il campo AvgticketPrice è maggiore di 600 e meno di 800

Get /kibana_sample_data_flights /_search

"query":
"allineare":
"Avgticketprice":
"GTE": 600,
"LTE": 800



Di seguito sono riportati i risultati di restituzione di esempio:

Comprensione della domanda

Nell'esempio sopra, impostiamo l'intervallo nella query. La parola chiave Gamma richiede il parametro del campo, che definisce il campo da cercare.

Procediamo quindi per definire il parametro per il campo. Queste sono condizioni booleane come:

  1. GT - maggiore di
  2. gte - maggiore o uguale a
  3. LT - Meno di
  4. lte - meno o uguale a

Interrogare un intervallo di tempo

Se il campo che si desidera cercare è di tipo di tipo, è possibile utilizzare i condizionali sopra seguiti dalla data matematica definita nella risorsa seguente:

Elasticsearch Date Math Documenti

Considera il seguente valore che utilizza il parametro time_zone per convertire il tempo in valore UTC e cercare un intervallo.

Get /kibana_sample_data_flights /_search

"query":
"allineare":
"timestamp":
"time_zone": "+03: 00",
"GTE": "2021-10-14T05: 22: 14",
"lte": "ora"



La query sopra dovrebbe restituire i documenti in cui il timestamp è maggiore del 2021-10-14 alle 05:22:14.

Ecco i risultati di esempio:

NOTA: time_zone non influisce sul parametro ora.

Più grande di

Non è necessario combinare i condizionali come maggiori e meno; È possibile utilizzare un intervallo individuale, come mostrato nell'esempio seguente:

Get /kibana_sample_data_flights /_search

"query":
"allineare":
"Distancemiles":
"GTE": 10000



L'esempio sopra restituisce i documenti in cui i discemili sono superiori a 10000.

La risposta è sotto:

Booleano

Per verificare un intervallo in cui il tipo di campo è un valore booleano, è possibile utilizzare LTE o GTE. Ad esempio, per ottenere i documenti per i voli cancellati, possiamo eseguire una richiesta come:

Get /kibana_sample_data_flights /_search

"query":
"allineare":
"Cancellato":
"GTE": vero



Nell'esempio sopra, passiamo la gamma per verificare come un vero vero.

I risultati sono come mostrato:

Chiusura

In questa guida, hai imparato a utilizzare la query di gamma in Elasticsearch per filtrare per i risultati che corrispondono a un intervallo specifico.