Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Sugerowanie innych zapytań dotyczących archaicznej pisowni (np. Google Did You Mean)

„Czy miałeś na myśli” Google jest całkiem interesujące:Jak Google „Czy chodziło Ci o?” Działa algorytm?

W przeszłości udało mi się zaimplementować coś podobnego za pomocą SOUNDEX które mogą zbliżyć się do tej funkcjonalności.

Martin, Martyn i Martine dają te same dane wyjściowe z SOUNDEX .

Możesz uwzględnić wszystkie wyniki z SOUNDEX dopasowania lub wybierz żądane wyniki, a następnie select distinct name from table where SOUNDEX(name) = SOUNDEX(search_var) jako twoje „sugestie”.

W ramach optymalizacji można wstępnie obliczyć SOUNDEX w polach wyszukiwania i zachować je jako indeksowaną kolumnę, aby uniknąć skanowania tabel.

Nie jest tak wyrafinowany, jak Google Did You Mean, ale możesz bardzo szybko zbliżyć się do niego.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuwanie wierszy za pomocą MySQL LEFT JOIN

  2. MySql.Data.MySqlClient.MySqlException:„Lokalny host hosta nie obsługuje połączeń SSL”.

  3. Ogólny błąd:1366 Nieprawidłowa wartość całkowita z aktualizacją Doctrine 2.1 i Zend Form

  4. Przeanalizuj CSV i wyeksportuj do bazy danych Mysql w Grails

  5. Błąd SQL (1215):Nie można dodać ograniczenia klucza obcego