Fulltext vyhledávání s relevancí rubrika: Databáze: SQL
Dobrý den,
obracím se na Vás se žádostí o pomoc při chybách při fulltextovém vyhledávání na e-shopu. Vyhledáváme zadaný dotaz ve více sloupcích, ale řadíme výsledky dle relevace. Při zadání běžných názvů zboží (např. Michael), tak v pořádku zobrazí e-shop výsledky a relevance je taky v pořádku. Problém ale nastává většinou při zadání dotazu, který obsahuje i čísla, např. 2M 78. V tomto případě to najde nějaké výsledky, ale zboží, které se jmenuje přímo 2M 78 nikoliv. Většina sloupců v MySQL je jako "text". Níže jsou nějaké konkrétní příklady a dotaz.
Předem děkuji za odpovědi a případnou pomoc.
Příklady:
Hledat: Abb (http://cs.phono.cz/vysledky-vyhledavani/fulltext/Abb/) > najde Abba, atp.
Hledat: Supra (http://cs.phono.cz/vysledky-vyhledavani/fulltext/Supra/) > najde Supra Records, Supraphon, atp.
SQL dotaz:
$q1 = mysql_query("SELECT *, MATCH(item_name, item_producter, product_ean, item_keywords, custom_field_1, custom_field_2, custom_field_3) AGAINST('".$search."*' IN BOOLEAN MODE) AS score FROM frostadmin_shop_items WHERE MATCH(item_name, item_producter, product_ean, item_keywords, custom_field_1, custom_field_2, custom_field_3) AGAINST('".$search."*' IN BOOLEAN MODE) AND status = 1 ORDER BY SCORE DESC");
Na Zdrojaku prave vyslo http://www.zdrojak.cz/clanky/uvod-do-sphinx-search/
Pro zobrazení všech 4 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře