Zadejte hledaný výraz...

PHP – Fulltext

Martin Bárta
verified
rating uzivatele
(28 hodnocení)
27. 2. 2013 15:13:51
Zdravím,
mám menší problém, potřebuji prohledávat v DB pomocí fulltextu, ale MySQL nic nenajde.
Mám v tabulce (MyISAM) sloupce nazev (varchar 200, utf8_unicode_ci).
V daném sloupci mám pro testování vložen řetězec: "Pejsek a kočička" a chci jej prohledat, používám tento SQL dotaz:
SELECT * FROM produkty WHERE MATCH(nazev) AGAINST('Pejsek');
- Dotaz proběhne bez problémů, ale nic nenajde, nevíte kde by mohl být problém? Zkoušel jsem hledat i jiné kombinace.
(Zkoušel jsem to i takto: SELECT COUNT(*) FROM produkty WHERE MATCH(nazev) AGAINST('Pejsek'); ale výsledek opět = 0)
Předem díky za pomoc.
27. 2. 2013 15:13:51
https://webtrh.cz/diskuse/php-fulltext#reply871771
mujfibi
verified
rating uzivatele
(15 hodnocení)
27. 2. 2013 15:19:13
Zkus SELECT * FROM produkty WHERE ' LIKE 'Pejsek';
27. 2. 2013 15:19:13
https://webtrh.cz/diskuse/php-fulltext#reply871770
McFly
verified
rating uzivatele
(4 hodnocení)
27. 2. 2013 15:19:41
Full-text indexes can be created only for CHAR, VARCHAR, or TEXT columns.
máš vytvořen fulltext index? ;-)
27. 2. 2013 15:19:41
https://webtrh.cz/diskuse/php-fulltext#reply871769
Martin Bárta
verified
rating uzivatele
(28 hodnocení)
27. 2. 2013 15:21:10
Fulltext index mám.
mujfibi: potřebuju pozdějc hledat složitější dotazy, LIKE by mi tudíž nestačil.
27. 2. 2013 15:21:10
https://webtrh.cz/diskuse/php-fulltext#reply871768
Registrace
verified
rating uzivatele
(1 hodnocení)
27. 2. 2013 15:21:28
http://php.vrana.cz/fulltextove-vyhledavani-v-mysql.php
27. 2. 2013 15:21:28
https://webtrh.cz/diskuse/php-fulltext#reply871767
Martin Bárta
verified
rating uzivatele
(28 hodnocení)
27. 2. 2013 15:24:25
Zajímavý, když jsem dotaz malinko poupravil, takto:
SELECT * FROM produkty WHERE MATCH(nazev) AGAINST('Pejsek' IN BOOLEAN MODE);
Tak to hledá bez problému.
27. 2. 2013 15:24:25
https://webtrh.cz/diskuse/php-fulltext#reply871766
Pokud výsledek zahrnuje víc než 50% řádků, MySQL celý výsledek zahodí.
Potřebujete mít tedy více než polovinu řádků bez slova "Pejsek".
Edit: Při použití "IN BOOLEAN MODE" se toto pravidlo neuplatní.
Viz http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html
27. 2. 2013 15:25:27
https://webtrh.cz/diskuse/php-fulltext#reply871765
Martin Bárta
verified
rating uzivatele
(28 hodnocení)
27. 2. 2013 15:27:51
Martin Schlemmer: Právě jsem se to dočetl na http://php.vrana.cz/fulltextove-vyhledavani-v-mysql.php - díky.
Díky všem za pomoc!
27. 2. 2013 15:27:51
https://webtrh.cz/diskuse/php-fulltext#reply871764
Pro odpověď se přihlašte.
Přihlásit