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

Pesquisa de texto do Oracle Fuzzy


A correspondência de nomes é difícil . A indexação de texto da Oracle suporta correspondência e lematização difusa, o que é um começo, mas considere estes nomes:
  • Nicholas Raleigh
  • Nihcolas Raleigh
  • Nico Raleigh
  • Nik Raleigh
  • Nicky Raleigh
  • Nick Raleigh
  • Nikolaus Raleigh
  • Nicola Raleigh
  • Nikki Raleigh
  • Nikola Raleigh
  • Nikolai Raleigh
  • Nikolaj Raleigh

Tentar combiná-los por meio de abstrações, seja Levenshtein Distance ou Double Metaphone, vai gerar falsos positivos e falsos negativos. Essa é a natureza da abstração. A melhor maneira de obter um conjunto de resultados preciso e focado é com um dicionário de sinônimos (e mesmo isso não é perfeito). Infelizmente, montar um tesauro abrangente de nomes é uma tarefa gigantesca; para ter uma noção da tarefa, confira as estatísticas no site NameX .

Atualização:o Oracle 11gR2 inclui uma extensão para o Oracle Text adaptada à pesquisa de nomes. Isso é muito legal e definitivamente o primeiro lugar para começar. Saiba mais .