Autor Zpráva
Watchick
Profil
zdravím, do ted jsem používal


    SELECT *
    FROM clanky
    WHERE MATCH(nadpis) AGAINST ('$_GET[search]' IN BOOLEAN MODE)
    ORDER BY 5 * MATCH(nadpis) AGAINST ('$_GET[search]') DESC


Ale tohle vybere jen záznam, když se hledá "ah", pokud je nadpis "no tohle, ah to je krasa", ale kdybycch potřeboval, aby MySQL našlo i záznam s "no nazdar, ahoj", Jak se to dá prosím udělat?
Můj kamarád (kterého beru jako svůj vzor v programování) používá u jednoho celkem dost navštěvovaného webu vyhledávání googlem a pak ty výsledky načte k sobě a zobrazí si je svým stylem...

To je to opravdu tak složité?
Hugo
Profil
http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html

The asterisk serves as the truncation (or wildcard) operator. Unlike the other operators, it should be appended to the word to be affected. Words match if they begin with the word preceding the * operator
Watchick
Profil
Předpokládám, že to znamená, že se dává zástupná znak * míssto znaku, který může být před ním... Ale když to budou hledat normálně uživatelé? také se to používá tak, že oni si tam tu * musejí dát?
Hugo
Profil
Watchick

Buď nebo tam * přidej natvrdo při vytváření dotazu.
Watchick
Profil
a když dam * na konec i na začátek, tak to najde i něco, co bude jenom "ah" ? a před nim a nim potom nic nebude?
Hugo
Profil
Watchick

Jo. Nejlíp to zjistíš testem.
Watchick
Profil
Já vim, sorry, ale jsem ve školea nejde mi se tu připojit na ftp...
Ještě jedna věc... vím, jak přidat jeden fulltext, ale kdybych chtěl prohledávat názvy, popisy a odkazy?

SELECT *
    FROM clanky
    WHERE MATCH(nadpis) AGAINST ('$_GET[search]' IN BOOLEAN MODE) OR  MATCH(popis) AGAINST ('$_GET[search]' IN BOOLEAN MODE) OR  MATCH(odkaz) AGAINST ('$_GET[search]' IN BOOLEAN MODE)
    ORDER BY 5 * MATCH(odkaz) AGAINST ('$_GET[search]') DESC

tak tohle mi předtim nefungovalo (je taky dost možný, že se mi nepovedlo dost dobře nastavit to fulltext indexování...) jak se to dělá, když chci prohledávat více sloupečků?
Hugo
Profil
Watchick

Musíš mít vytvořené fulltext indexy na všech sloupcích, které chceš prohledávat.
Watchick
Profil
a má se to dělat takhle:
alter table clanky add fulltext (nadpis); 
alter table clanky add fulltext (popis); 
alter table clanky add fulltext (odkaz); 

nebo takhle: ?
alter table clanky add fulltext (nadpis,popis,odkaz); 


zobrazí se mi to trochu jinak (jako vyubrazení těch fulltextů u tabulky)
Hugo
Profil
První způsob indexuje sloupce zvlášť, druhým způsobem vytvoříš index společný pro všechny tři sloupce.
Watchick
Profil
No a pro ten dotaz v postu #7 je lepší co?
Popřípadš, co by jsi použil ty?
Hugo
Profil
No a pro ten dotaz v postu #7 je lepší co?
Druhý zpúsob.

Popřípadš, co by jsi použil ty?
http://www.ujc.cas.cz/poradna/odpo.html#byste
Watchick
Profil
Jo já vim, sorry :-´) a co bys použil ty... já jsem se nějak moc soustředil na dějepis sorry :-)
Watchick
Profil
Mě to nejde...
Watchick
Profil
... poslat, alespon jako img:
Watchick
Profil
nevíte proč to nejde?
Toto téma je uzamčeno. Odpověď nelze zaslat.