Qual è la differenza tra query fuzzy e query con corrispondenza?

Qual E La Differenza Tra Query Fuzzy E Query Con Corrispondenza



Elasticsearch è un motore di ricerca e un database ben noto, gratuito, open source, analitico e distribuito utilizzato per gestire vari tipi di dati. È puramente un database NoSQL e funziona in modo diverso dai tipici database SQL e relazionali. Elasticsearch utilizza query DSL ((Domain Specific Language) e API REST per gestire e analizzare i dati. In Elasticsearch esistono diversi tipi di query come query fuzzy, query di corrispondenza, query con caratteri jolly, query con prefisso e molte altre. Queste query funzionano in modo diverso l'uno dall'altro.

Questo post dimostra su:

Che cos'è una query 'sfocata'?

IL ' sfocato ' query è una query DSL che esegue la ricerca di altre operazioni come la modifica del carattere, l'inserimento del carattere o la rimozione del carattere in base a ' Levenshtein modifica la distanza 'distanza. Di solito trova la differenza tra i termini e restituisce il risultato in un documento più vicino o quasi simile al termine cercato.







Che cos'è una query di 'corrispondenza'?

IL ' incontro 'query è un altro tipo di Query DSL utilizzato per abbinare o cercare dati specificati come stringhe, numeri o testo. È un ' testo intero ' ed esegue una ricerca full-text e restituisce i risultati che corrispondono esattamente al termine cercato. Se il termine non corrisponde al termine di ricerca restituirà una stringa nulla o false.



Differenza tra query 'fuzzy' e 'corrispondenza'.

Entrambi ' sfocato ' E ' incontro 'le query vengono utilizzate per scopi di ricerca. La differenza fondamentale tra queste due query è che la query “fuzzy” effettua una ricerca fuzzy e restituisce un risultato simile o vicino al termine cercato. Al contrario, la query “match” restituisce i risultati che corrispondono esattamente al termine cercato.



Per una migliore comprensione, seguire gli esempi forniti di seguito:





Esempio 1: ricerca fuzzy utilizzando la query 'fuzzy'.

Supponiamo che l'utente voglia trovare il documento che ha il ' Designazione ' valore come ' Autore ”. Facciamo una ricerca che trovi una corrispondenza più vicina. Per fare ciò, utilizzare il ' sfocato ' query per cercare un documento che ha un ' Designazione ' valore uguale o più vicino a ' autore ':

OTTIENI Linuxhint / _ricerca

{

'interrogazione' : {

'sfocato' : {

'Designazione' : 'autore'

}

}

}

L'output seguente mostra che il documento ha l'ID ' 1 ' ha un ' Designazione ' valore vicino al ' autore 'termine cercato:



Ma se l’esempio precedente viene applicato dal “ incontro ' query, invierà un ' stringa nulla ' poiché restituisce il termine corrispondente esatto.

Esempio 2: ricerca fuzzy utilizzando la query 'Corrispondenza'.

Prendiamo lo stesso esempio e applichiamo il “ incontro ' query per trovare il documento con il ' Designazione ' valore come ' autore ':

OTTIENI Linuxhint / _ricerca

{

'interrogazione' : {

'incontro' : {

'Designazione' : 'autore'

}

}

}

L'output seguente mostra che ' incontro La query ' non trova risultati più vicini e restituisce un ' nullo ' corda:

Modifichiamo il valore cercato da ' autore ' A ' Autore ' ed eseguire il ' incontro ' query come mostrato di seguito:

OTTIENI Linuxhint / _ricerca

{

'interrogazione' : {

'incontro' : {

'Designazione' : 'Autore'

}

}

}

Qui puoi vedere il ' incontro 'la query restituisce il documento con ID' 1 ”. Poiché il documento 1 corrisponde esattamente ai termini cercati:

Questo è tutto sulla differenza tra un ' sfocato ' domanda e un ' incontro ' domanda.

Conclusione

IL ' sfocato La query ' viene utilizzata per effettuare una ricerca fuzzy e restituisce i risultati che corrispondono strettamente al termine cercato. Comunque, il ' incontro ' la query non supporta la ricerca fuzzy e restituisce i risultati che corrispondono esattamente al termine cercato. Questo blog ha illustrato la differenza tra query fuzzy e query di corrispondenza.