Autor Zpráva
Pavel Dumbrovský
Profil
Pěkný večer přeji,
níže je kód, který mi na jiném webu v pohodě funguje. Zadaná databáze existuje, nastavil jsem jí fulltext (předtím to házelo fulltext chybu, teď už ne, takže počítám že se to povedlo), ale i když je onen sloupec nadpis prošpikován slovem "izolace", výsledek háže furt nula. Napadá někoho proč? Děkuji, Dumbrovský.

	if($page=="hledat"){

			 $data = DBFetch("SELECT * FROM ".$databaze3." WHERE MATCH (nadpis) AGAINST ('izolace')");
			 $pocet=count($data);
			 if($pocet==1){$polozky="položku";}
			 else if($pocet>1 && $pocet<5){$polozky="položky";}
			 else {$polozky="položek";}

			echo "<br><br><span class='text'>Výsledek: Našel jsem <b>$pocet</b> $polozky s hledaným výrazem '<b>$kw</b>'.<p>";

}
nightfish
Profil
Pavel Dumbrovský:
Napadá někoho proč?
vypsat si chybové hlášky, zkontrolovat indexy, zkontrolovat storage engine u tabulky

ale i když je onen sloupec nadpis prošpikován slovem "izolace"
pokud se slovo vyskytuje ve velkém množství záznamů, tak se na něj nebere ohled
Pavel Dumbrovský
Profil
nightfish:
Díky za odpověď - chyby se mi vypisují (žádný), neviděl jsem problém, tak mě teď napadlo hodit přímo dotaz do phpmyadmina do sql konzole:
SELECT * FROM `abcstranky` WHERE MATCH (nadpis) AGAINST ('izolace')

a nic to nenašlo, tak jsem zkušil celý název nadpisu Zemní izolace a ten to našlo, takže je mi to MATCH AGAINST asi k prdu, přitom na jiný tabulce to valí v pohodě, nechápu to..
Pavel Dumbrovský
Profil
select * from abcstranky WHERE MATCH (nadpis) AGAINST ('izolace' WITH QUERY EXPANSION
);


Takhle to valí..
unlucky
Profil
možná že jste zadal 3 a měně písmen při hledání?
Pavel Dumbrovský
Profil
Takovej idiot zas nejsem. :) Ale pravděpodobně to bude mít určitou spojitost s množstvím řádků a klíčových slov v tabulce, jak zmínil kolega nightfish. Protože na e-shopu mi to normálně vezme slova o 4 znacích - to připisuji stovkám řádků. Tady to prostě nevalí, protože je tam řádků málo, tak to asi ignoruje shodu. Ale když jsem tam hodil ten parametr WITH QUERY EXPANSION tak to jede, ten to zřejmě projíždí důkladněji, nebo jsou pak jiná kritéria pro vyhledávání.
Pavel Dumbrovský
Profil
Prosim Vás,
ještě mi někdo zkuste říct, proč nevalí toto:
SELECT * FROM `abcstranky` WHERE MATCH (`nadpis`,`text`) AGAINST ('izolace' WITH QUERY EXPANSION)

Hodí to Can't find FULLTEXT index matching the column list , přitom oba sloupce jsou fulltext a každej zvlášť funguje, ale když tam jsou oba nadpis,text - tak to nejede. Je třeba nastavit nějakej společnej fulltext či co?
Kajman_
Profil *
e třeba nastavit nějakej společnej fulltext či co?
Ano.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: