abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 13:33 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.6. Přehled novinek s náhledy v oznámení na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | IT novinky

    V Edici CZ.NIC, knižní řady správce české národní domény, vychází nová kniha Martina Malého Kódy, buildy, firmwary. Autor po půl roce od vydání předchozího titulu přichází se svou již sedmou knihou, tentokrát zaměřenou na vývoj programového vybavení pro embedded zařízení. Publikace s podtitulem Základy vývojářského řemesla pro tvůrce hobby elektroniky nabízí praktického průvodce pro všechny, kdo své projekty vytvořené s Arduinem

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 11:44 | Komunita

    V Brně na FIT VUT probíhá dvoudenní open source komunitní konference DevConf.CZ 2026. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána nová verze 15.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    17.6. 19:11 | Zajímavý projekt

    Vývojáři Ubuntu představili projekt Myna, tj. iniciativu zaměřenou na přidání funkce převodu řeči na text do prostředí desktopu Ubuntu. Dle plánu již v Ubuntu 26.10.

    Ladislav Hagara | Komentářů: 2
    17.6. 18:33 | Zajímavý software

    Společnost Epic Games představila nový open source systém pro správu verzí Lore navržený pro "bezprecedentní škálovatelnost dat i týmů a optimalizovaný pro projekty, včetně her a zábavy, které kombinují kód s velkými binárními soubory, aby uspokojil potřeby vývojářů i umělců". Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    17.6. 15:33 | IT novinky

    Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.

    Ladislav Hagara | Komentářů: 0
    17.6. 12:22 | IT novinky

    Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.

    Ladislav Hagara | Komentářů: 5
    17.6. 08:22 | Bezpečnostní upozornění

    V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.

    Max | Komentářů: 6
    17.6. 05:22 | Zajímavý článek

    Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být

    … více »
    Ladislav Hagara | Komentářů: 20
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1934 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Hledat či nehledat? A jak?

    13.3.2006 22:09 | Přečteno: 1751× | Python

    Už je to delší dobu, co jsem (aspoň doufám) vyrostl z období - než používat něco ne-úplně-jasného, to si to radši naprogramuju sám... Při programování se snažím používat již hotové nástroje a knihovny, leč ne vždy lze. Co použít na fulltextové prohledávání? A navíc v Pythonu?

    Aneb těžký život programátora v Pythonu, obzvláště programátora neziskových projektů...

    Zadání

    Nepřítel nám zadal webové stránky a my máme použít co nejchytřejší prohledávač v češtině. Nemůžeme použít Google či Jyxo, protože bychom nemohli (jednoduše) zpracovávat statistiky vyhledávání, navíc není možné (dostatečně) customizovat vzhled výsledků.

    Lucene

    K fulltextovému prohledávání existuje výborná knihovna Lucene, která je bohužel (Leoš promine) v Javě. Existují k ní sice porty CLucene (pro C++), Lucene4c (pro C) a jistě i pro jiné obskurní jazyky.

    Clucene a Python

    Pro CLucene existuje téměř přímočarý wrapper pro Python (SWIGový), ke kterému ovšem je nulová dokumentace a téměř žádný příklad použití (pouze testovací sada). Rozchození IndexWriteru, IndexReaderu a IndexSearcheru bylo úkolem značně netriviálním - naštěstí je možné použít dokumentaci k CLucene a nahlédnout do zdrojáku.

    Drobnou nevýhodou CLucene + Pythonového wrapperu je nemožnost (alespoň v mé konfiguraci) rozchodit jiný než StandardAnalyzer, pokusy o subclassing Analyzeru vedly spolelivě k core. Dočasně se to dá vyřešit prostým ořezáním diakritiky :-), ale do budoucna to jako průchozí řešení nevidím...

    Zkoumáním SWIGového kódu jsem žádný problém nenašel, po týdnu zkoumání jsem to (zatím) vzdal.

    Tady končí vyzkoušené (naprogramované) znalosti, zbytek jsem vyčetl z dokumentace.

    PyLucene

    Původní Lucene je více-méně bezproblémová knihovna, jenom je v Javě, což mne moc netěší, neboť mé programovací prostředí je Webware for Python. Částečným řešením může býti projekt PyLucene.

    PyLucene využívá možností kompilátoru gcj, který zkompiluje Javu do objektového kódu použitelného z C, ten se potom opět pomocí SWIGu zabalí do "úhledného" Pythonového modulu. Prý to funguje.

    Nevýhodou je mišmaš tří jazyků a tří paměťových modelů (Java = garbace collector, C++ = ruční uvolňování, Python = reference counting + garbage collector). Druhou nevýhodou - neméně podstatnou - jest moje nedůvěra k Javě, v ostrém prostředí nainstalovaná (zatím) není - počítač má pouze 360MB RAM a nechci ho trápit Javou, dokud to nebude akutně nutné.

    Lude

    Zajímavě se mi jeví Lude - démon, který běží na pozadí, přes XML-RPC se do něho tlačí dokumenty a požadavky na vyhledávání a padají z něho výsledky. Je v Javě (malé mínus), ale nemá ostrou verzi - mínus o něco větší. Zajímavé by bylo slepit CLucene a XML-RPC, dosáhlo by se tím větší rychlosti, navíc by to fungovalo bez Javy.

    MnogoSearch

    Pěkné, funkční, umí to český stemming(!), ale konfigurace pro prohledávání webu je velká. Navíc má špatné reference, co se týče výkonu. Moc důvěryhodně nepůsobí ani ukládání vyhledávacích dat v relační databázi. Neexistuje modul pro Python, ale v nejhorším případě se ponořím do PHP a napíšu si XML-RPC rozhraní :-)

    Vzhledem k tomu, že český stemming je založen na datech z ispellového slovníku, neměl by být velký problém jej z MnogoSearche vypárat.

    Xapian

    Na Xapian jsem narazil náhodou. Má vazbu pro Python, oproti Lucene mi není moc jasný indexovací koncept. Lucene je intuitivní, dokument má pole (fields), která nějak plním a podle nich se vyhledává. Xapian pole nemá, nebo jsou někde utajená? Takže nevím, kam mám vložit data ze titulku, apod...

    Pro rýpaly poznamenávám, že návod jsem si četl, jen jsem jej možná nepochopil dostatečně :-)

    Co dál?

    Zatím jsem použil CLucene + Python-wrapper. Češtinu odřezávám, takže můžu použít klasický StandardAnalyzer. Přemýšlím, čím ji nahradit, protože aktuální řešení je Quick and Dirty™

    Existuje nějaký další vyhledávací stroj? Pěkný, použitelný a udržovaný? V C, C++ nebo ideálně s Pythonovým wrapperem? Umí stemming? A alespoň z poloviny to co Lucene?

           

    Hodnocení: 83 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    13.3.2006 22:54 Pmx
    Rozbalit Rozbalit vše Re: Hledat či nehledat? A jak?
    Co je to stemming?
    Věroš avatar 13.3.2006 23:00 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Hledat či nehledat? A jak?
    V podstatě rozpoznání stejných tvarů jednoho slova.

    Google na dotaz "define:stemming" tvrdí
    Word variations. For example, if I entered the query "swim", a search engine that supports stemming might return results that include "swimming" or "swims".
    Školím Ansible
    14.3.2006 06:52 petr_p
    Rozbalit Rozbalit vše Re: Hledat či nehledat? A jak?
    Nevyplatilo by se vzit nejaky free morfologicky analyzator (napr. ajku) a rozjet projekt podobny GNU/FDL Anglicko-ceskemu slovniku? Tak by se mohlo podarit vytvorit svobodnou morfologickou databazi ceskeho jazyka a tim by se vyresily vsechny problemy s ohybanim ceskych slov.

    Vim, ze proti stemmingu je to kanon na vrabce, ale bylo by to krasne.
    Věroš avatar 14.3.2006 13:38 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Hledat či nehledat? A jak?
    Já nepotřebuju morfologický analyzátor, mě bude stačit (nějakou dobu) jenom stemming :-) Jen co najdu něco, co umí vyhledávat...
    Školím Ansible
    7.3.2007 00:42 David
    Rozbalit Rozbalit vše Re: Hledat či nehledat? A jak?
    A co Sherlock :) predchudce soucasneho Morfea ktery vyuziva centrum.cz Sherlock ma volne dostupne zdrojaky a je psan v C++ :)
    Věroš avatar 7.3.2007 01:00 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Hledat či nehledat? A jak?
    Ejhle, na ten jsem zapomněl, pokud umí inteligentně stemovat, tak bych ho mohl ohnout.

    Ale od doby zápisku vyšel SOLR, do počítače se přidalo kvantum paměti a Javu by mohl unést, takže mířím spíše tím směrem.
    Školím Ansible

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.