Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle Fuzzy Search com espaços


Primeiro, verifique a documentação do Fuzzy operador

Observe que um termo normalmente não contém espaço em branco e você terá que dividir sua pesquisa em termos separados.

Além disso, observe que fuzzy para ser ativado, o termo deve ter pelo menos 3 caracteres . Então, seu exemplo com PO não funciona.

O que você pode fazer para sua configuração é definir um fuzzy extra procure cada parte de sua string fuzzy e combine-as com o near operador como segue
 contains(po_number,'near (( fuzzy(word1,,,weight),fuzzy(word2,,,weight) ), 2, TRUE)',1) > 0

near impõe aqui que ambas as correspondências devem ser adjacentes (span =2) e ordenado (TRUE ).

A manipulação de caracteres especiais depende da definição do seu whitespace e printjoins em sua preferência .