sql >> Database teknologi >  >> RDS >> Oracle

Oracle Fuzzy tekstsøgning

Navnematchning er svært . Oracles tekstindeksering understøtter fuzzy matching og stemming, hvilket er en start, men overvej disse navne:

  • Nicholas Raleigh
  • Nihcolas Raleigh
  • Nico Raleigh
  • Nik Raleigh
  • Nicky Raleigh
  • Nick Raleigh
  • Nikolaus Raleigh
  • Nicola Raleigh
  • Nikki Raleigh
  • Nikola Raleigh
  • Nikolai Raleigh
  • Nikolaj Raleigh

Forsøg på at matche dem gennem abstraktioner, hvad enten det er Levenshtein Distance eller Double Metaphone, vil generere falske positive og falske negative. Dette er abstraktionens natur. Den bedste måde at få et fokuseret og præcist resultatsæt på er med en synonymordbog (og selv dette er ikke perfekt). Desværre er det et gigantisk foretagende at samle en omfattende tesaurus af navne; for at få en fornemmelse af opgaven, tjek statistikken på NameX-webstedet .

Opdatering:Oracle 11gR2 inkluderer en udvidelse til Oracle Text, der er skræddersyet til navnesøgning. Dette er meget pænt, og absolut det første sted at starte. Få mere at vide .




  1. Konverter MySQL til SQLite

  2. Få lagrede procedureparametre med enten C# eller SQL?

  3. Navngivne parametre rækkefølge har mening for MySql. Net dataudbyder?

  4. Er det muligt at angive parametre for tabel- eller kolonnenavn i Prepared Statements eller QueryRunner.update()?