Elasticsearch query per jolly

Elasticsearch query per jolly

Un jolly si riferisce a uno speciale personaggio di segnaposto interpretato e sostituito con varie iterazioni in base alla sua posizione. L'uso dei caratteri jolly è comune quando si eseguono ricerche, specialmente in cui la ricerca target non è accuratamente conosciuta.

In Elasticsearch, ci sono due modi per cercare oggetti senza conoscere la corrispondenza esatta. Il primo è usare Fuzziness (controlla il nostro tutorial sull'argomento) e l'altro è usare la ricerca per jolly.

Questo tutorial ti insegnerà come utilizzare le query di ricerca per individuare gli articoli senza conoscere la corrispondenza esatta.

Uso di base

Per illustrare come utilizzare la query per il jolly ElaSticserch, useremo l'indice di dati di e-commerce-campione di kibana.

Nell'indice, abbiamo le informazioni dei clienti. Supponiamo di voler ottenere i risultati in cui il nome del cliente corrisponde a j*y.

Possiamo eseguire una domanda come mostrato:

Get /kibana_sample_data_ecommerce /_search?bello

"query":
"carta jolly":
"Customer_First_name":
"Valore": "J*n",
"Boost": 2



Se eseguiamo la richiesta sull'indice, dovremmo ottenere i documenti in cui il customer_first_name inizia con una J e termina con un N.

Uno screenshot di esempio della risposta è sotto:

Supponiamo di conoscere il numero esatto di caratteri nel nome. Ad esempio, non siamo sicuri che sia Jim o Jimmy; Possiamo usare il ? carattere come:

Get /kibana_sample_data_ecommerce /_search?bello

"query":
"carta jolly":
"Customer_First_name":
"Valore": "J?M*",
"Boost": 2



La query di esempio dovrebbe restituire i documenti in cui il nome inizia con una J, include un singolo personaggio, seguito da una lettera M e altri caratteri.

Di seguito è una risposta di esempio:

Parametri di query per jolly

È possibile specificare vari parametri per modificare il funzionamento della query per jolly. Tali parametri includono:

  1. Campo - Il campo per cercare un modello di abbinamento. Questo parametro non è facoltativo. Nel nostro esempio sopra, il campo è impostato su customer_first_name.
  2. Valore - Questo definisce il modello jolly da cercare. Un singolo punto interrogativo indica un singolo carattere, mentre un * significa zero o più caratteri, incluso un carattere vuoto. Il parametro del valore non è facoltativo.
  3. Aumento - Il parametro Boost aumenta o diminuisce il peso del punteggio della query di ricerca. Questo è un parametro opzionale ed è impostato su 1.0 per impostazione predefinita. Per aumentare il peso del punteggio, impostare un valore superiore a 1.0 e un valore inferiore a 1.0 per ridurre il punteggio.

Conclusione

In questo articolo, abbiamo spiegato come utilizzare le query di ricerca per jolly in Elasticsearch. Considera la documentazione o i nostri argomenti su Elasticsearch per saperne di più.