Zdravím, Chtěl bych se zeptat, jak se vyhledává v fulltextu. Sice sem to našel na intervalu, ale moc sem tomu nerozuměl. Díky
to znamena vyhledavat pres vyhledavac, jen ma ulozene miliony stranek (texty) a v techto textech hleda frazi, kterou jsi zadal.
google.com (pro hledani ceskych stranek pridat za frazi "site:cz")
jyxo.cz
takovy seznam.cz je napriklad "katalog"... a fultextove vysledky ti nabidne az pote, co nenalezne nic ve svem katalogu, ktery plni samotni uzivatele registrujici svoje weby.
takze pokud potrebujes najit "jak vyrobit xy", tak to spis najdes na jyxu ci googlu nez na seznamu.
Ale on chce udelat fulltext vyhledavani v sql .... ne pojednani o hledani.
juneau: To je sice moc hezké (některé věci sem nevěděl a díky), ale já chci vytvořit fulltext v SQL jak říká #lama. Jinak díky :-))
heh, nojo :) ma to napsat poradne, uz jsem z tech BFU hoooodne zblblej :)
no jednoduse budes na databazi posilat dotazy, jez v ni budou hledat zadana slova a vracet radky, v nichz to neco naslo.
SELECT id FROM table WHERE text LIKE %" . $fraze . "% ... asi tak, co si vzpominam
coz je ovsem takovy brutalni typ hledani. jestli je na to spesl fce, to tedy nevim.
Já jsem myslel, že se to dělá přes index (nebo co to je) FULLTEXT?
Je to na "http://www.pcsvet.cz/art/article.php?id=1368" ale nechápu 2/3 toho scriptu :-((, kdybyste mi prosím poradili.
tohle uz je pomerne specialni zalozetost, a to by musel sestoupit nektery z bohu a osvitit nas spasnym napadem. jinak to vidim na prachsprosty ukradeni kodu. ... ale jak na to koukam.
tak jednoduse vytvoris tabulku se sloupci, jez naindexujes jako FULLTEXT a pak jen pouzivas ten dotaz, co je v clanku. Sakra to vypada jednoduse... to bych si mohl taky udelat :)
Ja to pochopil podle http://www.mysql.com/doc/en/Fulltext_Search.html
Tak se na to mrkni, je tam, jak to zaindexovat i vyhledat
Jo už to celkem chápu, ale nevím co znamené to "Security implications of running MySQL as root"
Už mám vytvořené indexy, naplněnou tabulku, ale furt mi nejde vypis z fulltextu :-((((
Kdyby jste mi prosím pomohli.
Tady je zdroják:
<?
$spojeni= @mysql_connect("mysql.webzdarma.cz","universal_90","heslo");
if(!spojeni){echo "spojeni se nepovedlo";} else {
$db = mysql_select_db('universal_90',$spojeni);
$sql = "SELECT `datum`,`cislo`,`nadpis`,`jmeno`,`email`,`text` FROM `diskuze1` WHERE MATCH(`nadpis`,`jmeno`,`text`) AGAINST('$vyraz');";
$hledej=MySQL_Query($sql);
while($hodnoty = mysql_fetch_assoc($hledej)) {
print $hodnoty["datum"]." ".$hodnoty["cislo"]." ".$hodnoty["nadpis"]." ".$hodnoty["jmeno"]." ".$hodnoty["email"]." ".$hodnoty["text"]."<br>" ;};}
?>
Už sem na to přišel:
"SELECT `datum`,`cislo`,`nadpis`,`jmeno`,`email`,`text` FROM `diskuze1` WHERE MATCH (nadpis,jmeno,text) AGAINST ('') LIMIT 0, 30;";
a v AGAINST je hledané slovo:
juneau: Nemusíš krást kódy, stačí jen vypsat jaké slopce se mají vybrat z
tabulky, jméno tabulky a za WHERE Match(naindexované sloupce)
a AGAINST ('hledané slovo').
Jinak ten tvůj like=%neco% je dobrý a bude se mi hodit, díky :-)
add kradeni kodu -> proste pouzit pripraveny priklad, tak to melo byt :)
krast se nema deti, aaaaaano?
junea: Nahodou sem to neukrad a půl hodiny se stím drbal. Věděl jsem
totiž o MATCH, ale nevěděl kam ho dát ,a o AGAINST ,ale též
nevěděl co s ním.
Tak neříkej, že sem to ukrad, bo bych byl pěkně nasranej :-))
ale vzdyt prave takhle jsem to chtel predchozim prispevkem vysvetlit! rozhodne jsem to nemyslel tak, jak sis to prelozil ty :)
jses pasak, placam po rameni :)