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í
×
    dnes 06:00 | IT novinky

    T‑Mobile USA ve spolupráci se Starlinkem spustil službu T-Satellite. Uživatelé služby mohou v odlehlých oblastech bez mobilního signálu aktuálně využívat satelitní síť s více než 650 satelity pro posílání a příjem zpráv, sdílení polohy, posílání zpráv na 911 a příjem upozornění, posílání obrázků a krátkých hlasových zpráv pomocí aplikace Zprávy Google. V plánu jsou také satelitní data.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Komunita

    Společnost Proxmox Server Solutions stojící za virtualizační platformou Proxmox Virtual Environment věnovala 10 000 eur nadaci The Perl and Raku Foundation (TPRF).

    Ladislav Hagara | Komentářů: 1
    včera 21:22 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.65 svobodného multiplatformního webového serveru Apache (httpd). Řešena je bezpečnostní chyba CVE-2025-54090.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | IT novinky

    Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia AI asistenta Lumo.

    Ladislav Hagara | Komentářů: 6
    včera 12:22 | IT novinky

    Amazon koupil společnost Bee zaměřenou na nositelnou osobní AI aktuálně nabízející náramek Pioneer (YouTube) s mikrofony zaznamenávající vše kolem [𝕏, LinkedIn].

    Ladislav Hagara | Komentářů: 6
    včera 04:33 | IT novinky

    Společnost Teufel nedávno představila svůj první open source Bluetooth reproduktor MYND.

    Ladislav Hagara | Komentářů: 10
    22.7. 20:00 | Nová verze

    Byla vydána verze 4.2 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    22.7. 19:33 | IT novinky

    Anton Carniaux, právní zástupce Microsoft France, pod přísahou: Microsoft nemůže garantovat, že data z EU nepředá do USA bez EU souhlasu, musí dodržovat americké zákony.

    Ladislav Hagara | Komentářů: 40
    22.7. 15:33 | Nová verze

    Byl vydán Mozilla Firefox 141.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Lokální AI umí uspořádat podobné panely do skupin. Firefox na Linuxu využívá méně paměti. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 141 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    21.7. 22:44 | Bezpečnostní upozornění

    NÚKIB upozorňuje na kritickou zranitelnost v SharePointu. Jedná se o kritickou zranitelnost typu RCE (remote code execution) – CVE-2025-53770, která umožňuje neautentizovaný vzdálený přístup a spuštění kódu, což může vést k úplnému převzetí kontroly nad serverem. Zranitelné verze jsou pouze on-premise verze a to konkrétně SharePoint Server 2016, 2019 a Subscription Edition. SharePoint Online (Microsoft 365) není touto zranitelností ohrožen.

    Ladislav Hagara | Komentářů: 6
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (28%)
     (25%)
     (5%)
     (6%)
     (5%)
     (2%)
     (3%)
     (28%)
    Celkem 105 hlasů
     Komentářů: 14, poslední včera 23:49
    Rozcestník

    Hledat či nehledat? A jak?

    13.3.2006 22:09 | Přečteno: 1681× | 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.