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 .