Pekne prosím o Vašu radu, hlavne od tých viac zdatnejších v SQL. Chcel som si navrhnúť fulltextové vyhľadávanie na stránke. Údaje sa ťahajú iba z jednej tabuľky (pochopiteľne kvoli fulltext indexu). Tabuľka 'topic' má atribúty 'nazov' VARCHAR, 'popis' TEXT, 'tagy' TEXT, 'dolezitost' INT. Potrebujem urobiť SQL skript, ktorý bude fulltextovo hľadať v týchto atribútoch, no s určitou "prioritou" teda potrebujem to zotriediť tak, aby najskôr vyhľadalo určitý reťazec v názve, to aby zoradilo podľa dôležitosti, potom aby hľadalo v tagoch a nakoniec v popise. Neviem či ste ma pochopili. Proste ak fulltext nájde určitú zhodu v názve a väčšiu zhodu v popise, tak ako prvý vo výsledkoch hľadania bude ten názov. Teoreticky viacerými selectmi by som to vedel urobiť, len ja by som to chcel ako sa povie all-in-one...
Kód: Vybrať všetko
SELECT DISTINCT *,
MATCH(`nazov`) AGAINST('*retezec*') AS `naz`,
MATCH(`tagy`) AGAINST('*retazec*') AS `tag`,
MATCH(`popis`) AGAINST('*retazec*') AS `pop`
FROM `topic`
WHERE MATCH(`nazov`,`tagy`,`popis`) AGAINST('*retazec*' IN BOOLEAN MODE)
ORDER BY `naz` DESC, `dolezitost` ASC, `tag` DESC, `pop` DESC