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

Jak porovnat a seřadit podle podobnosti v MySQL?

Nejsem si jistý, zda LIKE je správný způsob, jak to udělat. Pokud potřebujete v textu hledat klíčová slova a seřadit výsledky podle skóre relevance, měli byste použít Celotextový index MySQL a Funkce fulltextového vyhledávání MySQL . Omlouvám se, pokud vás to odvádí od toho, o co se ve skutečnosti snažíte, ale doporučuji se na to podívat. Některé citace z referenční příručky MySQL:

1) Jak vytvořit fulltextový index na více sloupcích tabulky

mysql> CREATE TABLE articles (
    ->   id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
    ->   title VARCHAR(200),
    ->   body TEXT,
    ->   FULLTEXT (title,body)
    -> );

2) Vzorová data

3) Ukázkový dotaz, který hledá klíčová slova ve více sloupcích a zobrazuje výsledek + skóre:




  1. Laravel:Jak používat vztahy více kontingenčních tabulek

  2. Chyba 1148 MySQL Použitý příkaz není v této verzi MySQL povolen

  3. Vrácení DISTINCT prvního znaku pole (MySQL)

  4. MySQL OR MATCH visí (velmi pomalu) na více tabulkách