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

Búsqueda de texto difuso de Oracle

La coincidencia de nombres es difícil . La indexación de texto de Oracle admite la comparación aproximada y la lematización, lo cual es un comienzo, pero tenga en cuenta estos nombres:

  • Nicolás Raleigh
  • Nicolas Raleigh
  • Nico Raleigh
  • Nik Raleigh
  • Nicky Raleigh
  • Nick Raleigh
  • Nicolás Raleigh
  • Nicola Raleigh
  • Nikki Raleigh
  • Nikola Raleigh
  • Nikolai Raleigh
  • Nikolaj Raleigh

Intentar unirlos a través de abstracciones, ya sea Levenshtein Distance o Double Metaphone, generará falsos positivos y falsos negativos. Esta es la naturaleza de la abstracción. La mejor manera de obtener un conjunto de resultados enfocado y preciso es con un diccionario de sinónimos (e incluso esto no es perfecto). Desafortunadamente, ensamblar un diccionario completo de nombres es una empresa gigantesca; para tener una idea de la tarea, consulte las estadísticas en el sitio de NameX .

Actualización:Oracle 11gR2 incluye una extensión de Oracle Text adaptada a la búsqueda de nombres. Esto es muy ordenado, y definitivamente el primer lugar para comenzar. Más información .