| 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: 14 let
|
|||
0