Diskuze: Vyhledávání napříč celým webem
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 17 zpráv z 17.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zatím určitě ne, protože tohle vidím prvně. Co jsem se díval, tak myslíš za pomocí příkazů v mysql "Like" nebo "Join" ? Zároveň jak to funguje s malými písmeny ? Je potřeba to nejdříve např. projet zmenšením písmen?
No myslím normální tagy popisující obsah..
Tj. "auto", "červená", "fiat", "bourané", ..
SQL příkazy zas tak moc neznám.. Použil jsem to párkrát Takže W3C Schools a tam dohledáš významy a příklady použití pro všechno..
Možná by pro tebe ale bylo lepší a jednodušší použít už nějaký hotový vyhledávač..
Ahoj, za vyhledáváním obecně je poměrně složitá teorie, co se týče indexování a následného prohledávání obsahu. Nejsem si jistý, že jsem schopen Ti to vysvětlit v jednom komentáři už kvůli tomu, že metod a přístupů je více, ale myslím, že bych Ti byl schopen pomoct, pokud by jsi měl čas na složitější debatu.
Jak zmínil David Novák tagy jsou super věc. Tam kde jsou je vždy využiju a tam kde ne, jsem zklamaný. Velikost písmen ani diakritiku řešit nemusíš, pokud použiješ správné kódování.
A proč nepoužit SQL příkaz "LIKE"? Velikost a diakritiku taky řešit nemusí
Protože na LIKE jako je %vyraz% nevyužiješ indexy, ty bys mohl využít pouze v případě vyraz% a jim podobných výrazů. Pokud bych nechtěl využít tagy, sáhl bych po fulltextu, kde můžeš napsat vyraz a je to mnohem rychlejší než %vyraz% s použítím LIKE.
Právě že se jedná o docela složité téma, tak jsem zatím chtěl jen nějaký nástřel teorie a pak případně až se do toho vnořím, tak bych už měl konkrétní otázky. Vím že to bude trvat několik hodin než to dám do kupy a než to zjistím. Línej si najít informace nejsem, nebo i testovat několik hodin ale když možností je více tak se aspoň rád nechám na směrovat.
A jak vytvořit index, když nevím jaký je (znám 2 řetězce, nadpis a popis + hlavni kategorie a sub kategorie?
Logiku vidím v době kdy umožním zadat specifikace a tím i získám přesně dané informace, ale bez toho asi nevyužiji toto indexování v takové kvalitě ne?
Ako uz bolo spomenute skus pouzit nejaky hotovy package https://packagist.org/search/?… sice nemam so ziadnym skusenosti ale za vyskusanie nic nedas.
V dotazu si určíš "priority". Když budu hledat výraz Auto, tak chci, aby největší prioritu pro vrácené výsledky byly z nadpisu, poté z kategorie, sub-kategorie a poté z popisu. Pomocí triggeru si můžeš všechna data sypat do jedné tabulky a tam si třeba pak i určit jiné kódování a zároveň tak přijdeš o zdržování při joinech (možná).
Pokud se ti na výsledky typu výraz* nevrátí nic, můžeš po neuspěšném hledání použít jiné zástupné znaky, třeba *výraz* abys získal nějaká data.
Můžeš také kouknout na Elasticsearch (Elastic), využívá ho Mall a myslím, že i Heureka.
Vzhledem k tomu, že se php stále učím budu rád když budu vědět jak na to. Je spousta scriptu co jsem mohl okopírovat a jen upravit, ale přidám radši k tomu pár hodin na víc a udělám si vlastní script a vím do poslední čárky co přesně jak a proč. Na víc mám z toho pak radost, mohl bych třeba využít google vyhledávač na web. Každopádně i tak si rady cením, každá rada je dobrá a člověk má možnost o tom i přemýšlet, nebo to porovnat.
To rozdělení jak jsi napsal, mě také jaksi napadlo a má to svojí logiku.. Od nejvíce výstižných informací po nejméně výstižné.
Určitě se juknu na Elasticsearch .
Koukal jsem i na fulltextové vyhledávání za pomocí BOOLEAN MODE v mysql
->
http://php.vrana.cz/…-v-mysql.php
nějaké zkušenosti ?
Ano, ten se běžně používá V souvislosti s vyhledáváním se také koukni jak správně rozvrhnout indexy a pro kontrolu si dotaz nech vysvětlit pomocí EXPLAIN. Je lepší, když do tabulky dáš více záznamů - řekněme 100 a víc.
Pokud s indexy a explain máš již zkušenosti, omlouvám se za nepodstatné informace.
Tak všem moc děkuji za poskytnuté rady a z každé informaci si určitě něco beru. Možná se ještě dotaz nějaký objeví, ale již to bude konkrétní na danou věc. Na konec to určitě tak těžké nebude, stačí se jen odhodlat a začít psát, pak to jde samo.
Řešení bohužel mohu dát jenom jednomu a myslím že nejvíce si to zaslouží "Facedown".
10 dní volna/času na to bude stačit za 3 dny.. he he
Zobrazeno 17 zpráv z 17.