sql >> Databasteknik >  >> RDS >> Mysql

Föreslå andra frågor om ålderdomliga stavningar (t.ex. Googles Did You Mean)

Googles "menade du" är ganska intressant:Hur fungerar Googles "menade du?" Fungerar algoritmen?

Tidigare har jag lyckats implementera något liknande med SOUNDEX som kan approximera den funktionen.

Martin, Martyn och Martine ger samma utdata från SOUNDEX .

Du kan inkludera alla resultat från SOUNDEX matcha, eller välj resultaten de bad om och select distinct name from table where SOUNDEX(name) = SOUNDEX(search_var) som dina "förslag".

Som en optimering kan du förberäkna SOUNDEX på sökfält och behålla det som en indexerad kolumn för att undvika tabellsökningar.

Det är inte lika sofistikerat som Googles Did You Mean, men du kan komma ganska nära mycket snabbt.



  1. Tidsintervall - Kontrollera efter veckodag och tid på dygnet i mysql

  2. När jag ansluter till flera databaser, behöver jag flera SQLAlchemy Metadata, Base eller Session-objekt?

  3. Kommer ANSI JOIN jämfört med icke-ANSI JOIN-frågor att fungera annorlunda?

  4. Med hjälp av CodeIgniter get_where för att kedja 'and' och 'or'-satser