sql >> Databasteknik >  >> RDS >> Mysql

levenshstein alternativ

Om du bara är bunden till MySQL finns det ingen lätt lösning.

Vanligtvis löses detta med hjälp av specialiserad ngram-indexering för snabb kandidatsökningsfiltrering och sedan beräkna livsthein endast på typ 10-50 kandidater, vilket är snabbare än att beräkna levensthein för alla par.

Specialiserade fulltextsökmotorer som Solr/Lucene har detta inbyggt.

PostgreSQL har pg_trgm bidragsmodul (http://www.postgresql.org/docs/9.0/static/pgtrgm.html) som fungerar som en charm.

Du kan till och med simulera detta i MySQL med fulltextindexering, men du måste samla ord från alla dina dokument konvertera dem till ngrams, skapa fulltextindex på dem och hacka dem alla tillsammans för snabb uppslagning. Vilket ger alla möjliga problem med redundans, synkronisering...inte värt din tid.




  1. Flera MySQL-instanser på en enda maskin

  2. Hur Replace() fungerar i SQLite

  3. Hur konfigurerar man UTF8-teckenuppsättning i Oracle?

  4. Hur får man en primärnyckel att börja från 1000?