Autor | Zpráva | ||
---|---|---|---|
Sylar Profil |
Zdravím,
lámu s tím hlavu celý den a už opravdu nevím, kde by mohla být chyba. U tohoto dotazu mi mysql háže chybu Can't find FULLTEXT index matching the column list. U obou dvou tabulek mám odpovídající indexy nad sloupci nazev, description, kategorie. SELECT DISTINCT SQL_CALC_FOUND_ROWS id, nazev, description FROM b_shops_produkty_db db WHERE (MATCH(db.kategorie) AGAINST('google' IN BOOLEAN MODE) OR MATCH(db.description) AGAINST('google' IN BOOLEAN MODE) OR MATCH(db.nazev) AGAINST('google' IN BOOLEAN MODE) ) UNION SELECT DISTINCT p.id, p.nazev, p.description FROM b_shops_produkty p, b_shops s WHERE (MATCH(p.kategorie) AGAINST('google' IN BOOLEAN MODE) OR MATCH(p.description) AGAINST('google' IN BOOLEAN MODE) OR MATCH(p.nazev) AGAINST('google' IN BOOLEAN MODE) ) AND p.shop = s.id ORDER BY s.payed DESC, clicked DESC, (1 * MATCH(p.kategorie) AGAINST('google*')) + (2 * MATCH(p.description) AGAINST('google*')) + (3 * MATCH(p.nazev) AGAINST('google*')) DESC LIMIT 0, 10 |
||
Kajman Profil |
#2 · Zasláno: 7. 4. 2012, 13:50:01
Zkuste ten výpočet pro řazení dát jako další vypisovaný sloupeček s nějakým aliasem a řadit podle něho. Případně selecty uzávorkujte, má-li se řazení a limit vztahovat až na druhý dotaz.
|
||
Sylar Profil |
#3 · Zasláno: 7. 4. 2012, 16:37:30
Kajman:
díky, máš pravdu ... (výpočet) AS relevance a ORDER BY relevance DESC funguje, i když mi to moc není jasné, mělo by přeci fungovat obojí :) |
||
Časová prodleva: 12 let
|
0