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:
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ù.