Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle Fuzzy Search con spazi

Per prima cosa, controlla la documentazione di Fuzzy operatore

Nota che un termine in genere non contiene spazi vuoti e dovrai dividere la ricerca in termini separati.

Nota inoltre che fuzzy per essere attivato, il termine deve contenere almeno 3 caratteri . Quindi il tuo esempio con PO non funzionerà.

Quello che puoi fare per la tua configurazione è definire un fuzzy extra cerca ogni parte della tua stringa fuzzy e combinale con near operatore come segue

 contains(po_number,'near (( fuzzy(word1,,,weight),fuzzy(word2,,,weight) ), 2, TRUE)',1) > 0

near qui impone che entrambe le corrispondenze devono essere adiacenti (span =2) e ordinato (TRUE ).

La gestione dei caratteri speciali dipende dalla definizione del tuo whitespace e printjoins nelle tue preferenze .