sql >> Databasteknik >  >> RDS >> Oracle

Oracle Fuzzy textsökning

Namnmatchning är svår . Oracles textindexering stöder fuzzy matchning och stemming, vilket är en början, men överväg dessa namn:

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

Att försöka matcha dessa genom abstraktioner, vare sig det är Levenshtein Distance eller Double Metaphone, kommer att generera falska positiva och falska negativa. Detta är abstraktionens natur. Det bästa sättet att få en fokuserad och korrekt resultatuppsättning är med en synonymordbok (och även detta är inte perfekt). Tyvärr är det ett gigantiskt åtagande att sammanställa en omfattande synonymordbok med namn; för att få en känsla av uppgiften kolla in statistiken på NameX-webbplatsen .

Uppdatering:Oracle 11gR2 innehåller ett tillägg till Oracle Text skräddarsytt för namnsökning. Det här är väldigt snyggt och definitivt det första stället att börja. Läs mer .




  1. POSTGRES kontrollera om ett angivet värde finns i kolumnen för typarray

  2. Hur automatiserar man skriptgenerering med SMO i SQL Server?

  3. Vad är skillnaden mellan Float och Numeric/Decimal i SQL Server - SQL Server / T-SQL Tutorial Del 33

  4. Är det tillräckligt att använda mysqli_real_escape_string för att säkra min frågesträng?