Autor | Zpráva | ||
---|---|---|---|
Ameopro Profil |
#1 · Zasláno: 10. 8. 2015, 00:35:51
Ahoj prosím vás jak lze docílit toho že když dají do vyhledání Liberec a vypíše se taky Liberecko i Liberec, AGAINST bude vypisován inputem. Děkuji
<?php $sql = include_once "view/config/config.php"; $result = mysql_query($sql); $res = MySQL_query("SELECT * FROM inzerce WHERE MATCH(titulek, inzerat) AGAINST('%Liberecko%');"); while ($row=MySQL_fetch_array($res)) echo "<br><br>".$row['titulek']."<br><br>"; ?> |
||
Taps Profil |
#2 · Zasláno: 10. 8. 2015, 07:03:24
Ameopro:
nebude lepší použít operátor LIKE? |
||
Ameopro Profil |
#3 · Zasláno: 10. 8. 2015, 09:34:32
a to vylhedá i podobná slova ?
|
||
juriad Profil |
Ameopro, Taps:
LIKE hledá maximálně podřetězce. Ameopro: MySQL je hodně tupá databáze, která se sama o sobě na přirozený jazyk nehodí. Můžeš si vytvořit extra sloupec, do kterého budeš ukládat základní tvary slov (případně jejich kořeny) a nad ním hledat. Existují nadstavby nad databázemi, nejznámější je asi Lucene a ElasticSeach, viz www.zdrojak.cz/clanky/elasticsearch-vyhledavame-cesky. To ale vyžaduje mít svůj vlastní server a netriviální množsttví práce. |
||
Ameopro Profil |
#5 · Zasláno: 10. 8. 2015, 10:15:16
já bych právě potřeboval vyhledát data v mysql tabulce
|
||
juriad Profil |
Ameopro:
Můžeš hledat kořeny slov, tedy v tomto případě bys vždy hledal "%Liber%" pomocí LIKE (by to našlo Liberec, Liberce i Liberecký). Bude to ukrutně pomalé, ale bude to fungovat. Musíš tedy naučit uživatele, jak má hledat. Jelikož nevíme, co řešíš za úlohu, zeptám se: jsi si vědom toho, že Hradec Králové a Královéhradecko se navzájem píši úplně jinak? Když do toho zapojíš skloňování a nepovinnou diakritiku, prakticky začneš vytvářet svůj vlastní FULLTEXTový search. |
||
Alphard Profil |
#7 · Zasláno: 10. 8. 2015, 10:39:17
Ameopro:
My jsme naše vyhledávání vyvíjeli dost dlouho. Základ je logovat si dotazy uživatelů, vědět, jak se ptají. Sledovat, jestli dostávají výsledky, které chceme, a když ne, upravit systém. juriad: „Musíš tedy naučit uživatele, jak má hledat.“ Teď jsem se zasmál :-) |
||
Ameopro Profil |
#8 · Zasláno: 10. 8. 2015, 11:08:33
OK dkudím to přes LIke děkuji ..
|
||
Alphard Profil |
#9 · Zasláno: 10. 8. 2015, 11:15:56
Ještě je možné nabídnout uživateli i jiné formulářové prvky. Třeba mapu, kde klikne na Liberecko; nebo přidat do formuláře našeptávač, který ho povede na „správný“ tvar.
|
||
Ameopro Profil |
#10 · Zasláno: 10. 8. 2015, 11:17:06
JJ to by bylo supper ale já nevím jak se vůbec dělá vyhedávač, ktery umí sklonovat atd.. to je ten problém
|
||
Časová prodleva: 9 let
|
0