Autor Zpráva
Ameopro
Profil
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
Ameopro:
nebude lepší použít operátor LIKE?
Ameopro
Profil
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
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
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
OK dkudím to přes LIke děkuji ..
Alphard
Profil
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
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

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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