Portál AbcLinuxu, 26. dubna 2024 17:03


Dotaz: Vlastní vyhledavač, jak začít? Užitečné zdroje?

10.1.2013 11:16 Dan
Vlastní vyhledavač, jak začít? Užitečné zdroje?
Přečteno: 893×
Odpovědět | Admin
Zdravím, chtěl bych si naprogramovat vlastní vyhledavač na jednom webu. Vím že lze použít google i na vlastních stránkách, ale to nechci. Máte někdo typ na nějaky openspource vyhledávač anebo zdroje k nastudování, asi bych ho psal v PHP nebo v C, ale o to nejde spíše jde o to jak na to, realizace už je druhotná. Díky

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 2× (Roman DAVID, Jindřich Makovička)
10.1.2013 13:41 Mr.S1lent.cz
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Use this http://sphinxsearch.com/
Jendа avatar 10.1.2013 15:59 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Apache Lucene?
Já to s tou denacifikací Slovenska myslel vážně.
10.1.2013 16:10 Ben Joyce
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
Odpovědět | | Sbalit | Link | Blokovat | Admin

Pokud máte databázi typu MySQL, ve které chcete vyhledávat, je možné spustit příkaz:

SELECT sloupce FROM tabulka WHERE sloupec LIKE '%hodnota%'

Hodnota ve výše uvedeném SQL dotazu je výraz, který se CELÝ TAK JAK JE nalézá v textu uloženém pod konkrétním sloupcem.


Pokud chcete hledat slova odděleně a nikoli fráze, upravte dotaz nějak takto:

SELECT sloupce FROM tabulka WHERE sloupec LIKE '%slovo%' OR sloupec LIKE '%dalsi_slovo%'

Při tomto použití je třeba hledanou frázi rozložit do slov - ale to není takový problém, v PHP je na to myslím nějaká funkce - a poté SQL dotaz složit dohromady.


Pokud použijete metodu s rozložením na slova, je třeba zvážit následující věc. Totiž chyba v mém návrhu je ta, že si budete muset vymyslet nějaký způsob jak výstup, což je obvykle nějaké pole, seřadit podle počtu nalezených slov - v některém jsou nalezená slova tři, někde jen jedno.
Mě napadá takhle z fleku například procyklení výstupu a počítání nalezených slov, výsledek zapsat do nějakého pole (kde byste např. číslo příspěvku spojil s počtem nalezených slov), které opět procyklíte a seřadíte podle něj výstup z SQL databáze.
Důvod, proč do toho tahám další pole, je takový, že nebudete moci řadit výstup, když si nebudete jist, zda ve výstupu není ještě nějaký další příspěvek s větším počtem nalezených slov, nebo když budete potřebovat příspěvek se třemi nálezy zařadit mezi příspěvky se čtyřmi nálezy a dvěma nálezy.


Samozřejmě je třeba vyhledat potřebné funkce, popř. třídy a promyslet, jestli by tahle trochu prasečina nešla maličko pročistit.

11.1.2013 01:25 retroslava | skóre: 9 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
:)

věk?
Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
Jendа avatar 11.1.2013 07:02 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
Kdepak věk, enterprise!
Jesus Jimenez avatar 11.1.2013 08:05 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
LOL :)
Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
rADOn avatar 11.1.2013 13:58 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
Clovek se jen divi co ti sasci googlacky porad delaj kdyz je to tak jednoduchy…
"2^24 comments ought to be enough for anyone" -- CmdrTaco
rADOn avatar 10.1.2013 16:58 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Záleží jak funguje ten web. Na statické stránky v pohodě stačí htdig. Pokud je všechen obsah v sql, většina databází má nějaký ten fulltext. Na složitější věci jsou složitější řešení – já bych sáhnul nejdřív po sphinx.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
10.1.2013 18:43 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
Platí informace ze stránek htdigu, že neumí UTF-8?
Jakub Lucký avatar 10.1.2013 19:39 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podívat se na Morfeo/Holmes?
If you understand, things are just as they are; if you do not understand, things are just as they are.
11.1.2013 16:52 Rubikáč
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nepíšeš to náhodou pro Petra Hejlů?
11.1.2013 17:00 Sten
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
Odpovědět | | Sbalit | Link | Blokovat | Admin

Záleží, jak dobré to má být. Pro jednoduchý hledač stačí grep nebo MySQL LIKE. Základní princip vyhledávačů je popsaný na Wikipedii, teoreticky se ty algoritmy učí třeba na FI MUNI (moc zajímavá doktorská studia: 1 2 3 4), prakticky je to velmi střežené tajemství pod NDA :-)

11.1.2013 17:43 Franta
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
Pořád MySQL… Když už MySQL, tak aspoň jeho fulltext.

Ale spíš MariaDB + Sphinx.
11.1.2013 17:38 Franta
Rozbalit Rozbalit vše Re: Vlastní vyhledavač, jak začít? Užitečné zdroje?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hlavně ne takhle: http://hlodac.cz/

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.