sql >> Databáze >  >> RDS >> Mysql

Navrhování dalších dotazů na archaický pravopis (např. Google's Did You Mean)

„Měli jste na mysli“ Google je docela zajímavé:Jak se Google "Měli jste na mysli?" Funguje algoritmus?

V minulosti se mi podařilo implementovat něco podobného pomocí SOUNDEX který může tuto funkci přiblížit.

Martin, Martyn a Martine poskytují stejný výstup z SOUNDEX .

Můžete zahrnout všechny výsledky z SOUNDEX shodu, nebo vyberte výsledky, o které žádali, a poté select distinct name from table where SOUNDEX(name) = SOUNDEX(search_var) jako vaše „návrhy“.

Jako optimalizaci můžete předem vypočítat SOUNDEX na vyhledávací pole a ponechat jej jako indexovaný sloupec, abyste se vyhnuli prohledávání tabulek.

Není to tak propracované jako Did You Mean od Google, ale můžete se k němu dostat velmi rychle.



  1. Přepisování dat v tabulce MySQL

  2. Jak doleva připojit několik tabulek od jedné k mnoha v mysql?

  3. Jak zapsat DataFrame do postgresové tabulky?

  4. sqlalchemy.exc.NoSuchModuleError:Nelze načíst plugin:sqlalchemy.dialects:postgres