sql >> Base de Datos >  >> RDS >> Oracle

Oracle Fuzzy Search con espacios

Primero, consulte la documentación de Fuzzy operador

Tenga en cuenta que un término normalmente no contiene espacios en blanco y tendrá que dividir su búsqueda en términos separados.

Además, tenga en cuenta que fuzzy para ser activado, el término debe tener al menos 3 caracteres . Entonces tu ejemplo con PO no funcionará.

Lo que puede hacer para su configuración es definir un fuzzy extra busque cada parte de su cadena difusa y combínela con near operador como sigue

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

near hace cumplir aquí que ambas coincidencias deben ser adyacentes (span =2) y ordenado (TRUE ).

El manejo de caracteres especiales depende de la definición de su whitespace y printjoins en su preferencia .