A keresőmotor adatlapjainak jellemzői

A DataparkSearch keresőmotor jellemzői

Hogyan szervezzük meg az információ-visszakeresést egy fájlkiszolgálón nem csak a név és a dokumentum típusa, hanem annak tartalma szerint? Lehetőség van olyan megfelelő eszköz létrehozására, amely hozzáférhető és átlátható a felhasználók számára?

Jelenleg az információkeresés kérdése egyre fontosabbá válik. Hosszú ideig az interneten versenyképes küzdelem van a keresőmotorok között, folyamatosan új szolgáltatásokat, lehetőségeket és tökéletes keresési mechanizmusokat kínál. De a szükséges adatokat nehéz megtalálni nem csak az interneten. Az otthoni számítógépeken a felhasználók hatalmas mennyiséget is felhalmoznak, és megértik, hogy ez a fajta néha nagyon nehéz. A szervezetekben a leggyakrabban az információ központosított és fájlszerverre van rendezve, de a szükséges dokumentumok keresése nehezebb lesz. A szoftvergyártók válaszoltak erre a szükségletre. A mai napig több tucat keresőmotor működik helyben a PC-n, és szerver keresők is megjelentek.

A helyi keresőmotorok többnyire ingyenesek, míg a vállalati verziók, amelyek lehetővé teszik a felhasználók számára, hogy információt keressenek a kiszolgálón, meglehetősen drágák. Kétségtelen, hogy kereskedelmi termék vásárlásakor kompetens technikai támogatást és egyéb előnyöket kapunk, de a kisebb szervezetek vagy a magánhálózatok tulajdonosai nem mindig képesek több ezer dollárt fizetni hasonló termékekért. Szerencsére a nyílt forráskódú világban vannak olyan ingyenes projektek, amelyek nem rosszabbak a kereskedelmi versenytársak funkcionalitásában, minőségi támogatással és frissítésekkel.

Most figyelembe vesszük az egyik lehetőséget a fájlszerverek dokumentálásának megszervezésére, amelyet egy adott feladat végrehajtott.

Van egy Linux szerveren futó fájlkiszolgáló. Megosztani a fájlokat a népszerű csomagok samba és pro-ftp telepítésével. A lemez a reiserfs fájlrendszert használja, mivel ez a legtermékenyebb a nagyszámú kis fájl (kb. 3 ezer, különböző formátumok: txt, html, doc, xls, rtf) feldolgozásához. Az adatok válogatásra kerülnek, de mennyisége napról napra növekszik, az elavult adatok eltávolítása nem oldja meg a problémát. Hogyan rendezheti a keresést a név és a dokumentumok típusai, valamint a tartalom alapján? Hogyan érhető el a felhasználók a helyi hálózaton?

A problémák megoldásához szükségünk lesz egy keresőmotorra, egy adatbázis-kiszolgálóra (MySQL, firebirg.), Egy Apache webszerverre [13] és körülbelül egy gigabájt lemezterületre a komplex működéséhez.

Melyik keresőmotor közül választhat?

Vannak helyi keresőprogramok, mint például a Google Desktop Search [1] vagy a Ask Jeeves Desktop Search [2]. Talán egy kis cégnél vagy egy Windows operációs rendszert futtató munkaállomáson történő keresés megszervezéséhez ezek a motorok hasznosak lehetnek, de ebben az esetben nem. A "szörnyek" keresése a Yandexhez hasonlóan nagyon drága, de ha magas színvonalú fejlesztői segítségre van szüksége, akkor nagyvállalatoknak is szüksége lehet a bérbeadásra. Számos projekt létezik a * nix család számára. Ezek a motorok:

Ezek a motorok szabadon elosztott keresőmotorokként működnek helyi és / vagy globális hálózatokban való munkához. Szeretném megjegyezni, hogy sok projekt nem többplatformos, és nem működik a Microsoft operációs rendszerei alatt. Windows alapú rendszerek esetén vannak olyan kiszolgálói megoldások, mint például: MnogoSearch és "Snoop" [8].

Szóval röviden megfontoljuk a * nix-platform keresőprogramjait:

MnogoSearch (korábban UdmSearch) - sok és meglehetősen gyakori motor számára ismert. Vannak verziók mind a Windows (30 napos ingyenes verzió), mind a * nix platformokra (GNU licenc). Az SQL DBMS szinte minden népszerű verziójára használható mindkét platformon. Sajnos ez a motor sok panaszral jár, ezért nem választottam.

DataparkSearch - a MnogoSearch keresőmotor klónja. Lehetővé teszi mind a fájlneveken, mind pedig a tartalomban való keresést. A txt-fájlok, HTML-dokumentumok és mp3-címkék feldolgozása beépített, további modulok szükségesek más típusú dokumentumok tartalmának feldolgozásához. A helyi merevlemezen és a helyi / széleskörű hálózaton (http, https, ftp, nntp és hírek) kereshet információt.

A keresőmotor a legelterjedtebb SQL DBMS-kkel dolgozik, mint a MySQL [10], a firebird [11], a PostgreSQL [12] és mások. A fejlesztők szerint a DataparkSearch stabilan működik különböző * nix operációs rendszereken: FreeBSD, Solaris, Red Hat, SUSE Linux és mások. A MnogoSearch-hez képest a motor javított néhány hibát, néhány funkciót jobbra változtatott. A fejlesztő webhelyén linkek találhatók a motor működési verzióihoz az interneten. Egy nagy plusz minőségi dokumentáció orosz nyelven.

Tehát összehasonlítva az előnyöket és hátrányokat, a keresőmotort DataparkSearch választotta ki a keresőmotor a fájlkiszolgálón.

A munkához szükségünk lesz: Apache webszerverre, MySQL adatbázis szerverre és DataparkSearch forráskódokra. Telepítse az Apache kiszolgálót és a MySQL adatbázist (minden szükséges könyvtárral). Ha más szerverre van telepítve, akkor használhatja (lásd a motor dokumentációját). Ezután csomagolja ki a DataparkSearch archívumát, és folytassa a komplexünk építését.

Futtassa az install.pl szkriptet, és válaszoljon a szükséges kérdésekre: kiválasztja a motor, az adatbázis és más, a motorhoz kapcsolódó paraméterek telepítési mappáját. Javasolt hagyni az alapértelmezett beállításokat. A tapasztalt felhasználók, miután elolvasták a doc könyvtárban található dokumentációt, manuálisan konfigurálhatják a motort (konfigurálási parancs). Ha a parancsfájl nem tudja megtalálni a mysql-t a telepítés során, előfordulhat, hogy nincsenek könyvtárak a fejlesztők számára (libmysql14 ördög). Most fordítsd le és telepítsd a DataparkSearch-t a make és a make install segítségével.

Adatbázis létrehozása:

sh $ mysqladmin létrehozni keresést

sh # mysql --user = root mysql

mysql> MINDEN PRIVILEGÉT MEGADJA *. * A felhasználónak @ localhost

AZONOSÍTÓ A "jelszó" segítségével GRANT OPTION;

Például a felhasználónév kereső, a jelszó qwerty.

Most indexer.conf hozzon létre egy fájlt a / etc / könyvtárban motor példa a fájl (bizonyos feladatok) megtalálható a könyvtár / doc / minta forrás DataparkSearch. A minimális beállításokkal rendelkező példa a 3. ábrán látható. 1.

1. ábra: Indexer.conf paraméterek minimális készlete

A DoStore tárolja az indexelt dokumentumok tömörített példányait. Szekciók - modul, amely rugalmas indexelési képességeket biztosít. Tegyük fel, hogy létrehozhat egy tagname korlátozást vagy konfigurálhat nemcsak a fájlok tartalmának indexelését, hanem az URL-t is (host, path, name). Langmap - a kódolás és a nyelvek felismerésére szolgáló speciális nyelvtérképek akkor hatnak, ha az 500 bájtnál nagyobb dokumentumok.

A második szükséges konfigurációs fájl a keresési eredmény fájl search.conf. Javasoljuk, hogy vegye fel a kész sablont (az /etc/search.htm-dist fájl), és szerkessze a kérelmeket. Meg kell jegyezni, hogy az indexer.conf fájlban megadott fő paramétereknek meg kell egyezniük a search.htm paraméterekkel, ellenkező esetben hiba lép fel a motor futásakor. A Search.htm több blokkból áll: az első változók - tartalmaznak adatokat a motorra (script search.cgi), és minden más blokkra van szükség a keresési eredmények html oldalának létrehozásához. Példa egy változó blokkra a search.conf fájlban a 3. ábrán. 2.

2. ábra Minimális paraméterek search.htm

A search.htm részletesebben tekintse meg. Amint láthatja, a DBAddr és a LocalCharset paraméterek megegyeznek az indexer.conf azonos paramétereivel. Ha a webes ügyfél támogatja az xml formátumot, beállíthatja a ResultContentType paramétert szöveg / xml-be. Az alábbiakban az eredményoldal megtervezéséhez szükséges HTML-blokkok jelennek meg, a nagy mennyiség miatt nem jelenik meg. Javasoljuk, hogy használja a /etc/search.htm-dist mappában található kész sablont. A kísérő dokumentáció teljes mértékben leírja a HTML-blokkok (formatervezés) formáját, azok, akik szeretnék testreszabni a tetszésüket.

Most az indexer fájlt az DataparkSearch motor sbin mappájával futtathatja a -Ecreate opcióval. Ha mindent helyesen végeztünk el, az adatbázis sql tábláit hoztuk létre. Ha hiba történik, ellenőrizze a mysql felhasználónevet és jelszót az indexer.conf fájlban, ez a leggyakoribb hiba.

A teszteléshez javasoljuk az erőforrás kis részének indexelését, így ha hibák fordulnak elő, az új átindítás nem sok időt vesz igénybe. Az indexelés indexelő parancs nélkül történik, így eredményeket kapunk: az eltöltött időt, a dokumentumok számát és a munka sebességét.

Másolás bin / search.cgi DataparkSearch fájlt a könyvtár, a cgi-bin mappában a web szerver és szerkeszteni a fájlt index.shtml Apache webszerver (található a html mappa), hozzátéve, a keresési forma-kód:

Mostantól elérheti a localhost erőforrást bármely elérhető böngésző segítségével. A megjelenített formában adja meg a kívánt szót, mondja a "processzor" (lásd a 3. ábrát). Ennek eredményeképpen egy keresési eredményt tartalmazó oldalt kell találnunk, ha természetesen ilyen dokumentumok léteznek (lásd a 4. ábrát). Ha a keresési eredményoldal helyett hibaüzenetet jelenít meg, tesztelje a szkriptet. Adja meg a webkiszolgáló cgi-bin könyvtárát, hajtsa végre a "seach.cgi test >> test.htm" szkriptet. Ha az eredményoldal helyes, akkor ellenőrizze az Apache kiszolgáló konfigurációját: a cgi parancsfájl elérési útja helyes, a tesztkód teszt.cgi a webkiszolgáló könyvtárában fut.

3. ábra: Beviteli űrlap

4. ábra: Keresési eredmények oldal

További modulok (parsétok) hozzáadása

Alapértelmezésben a motor csak akkor működik fájlok html és txt, de lehetséges, hogy telepíteni további modulok (parsety), amely konvertálja a különböző típusú dokumentumok html vagy txt (csak szöveg). Képes együttműködni xls (Excel), doc (Word), RTF (Word), ppt (Power Point), pdf (Acrobat Reader), és még rpm (RedHar Package Manager) fájl, csak a metaadat jelenik meg az utóbbi. A mi esetünkben irodai formátumokat kell feldolgozni. Doc xls és több parsetov: catdoc [14] a dokumentumokat txt formátumban, XLHTML [15] és vwHtml [16] konvertálja a fájlokat HTML-formátumban.

Azt javasoljuk catdoc csomagot, mivel az átváltási árfolyam txt-formátum átalakítás sokkal nagyobb HTML formátumú, és a program XLHTML néha „lefagy”, amikor konvertáló dokumentumokat. Bár a fejlesztők előre ezt a problémát, és ajánlom, hogy ne „befagyasztása” Parsęta meghatározott indexer.conf ParserTimeOut paraméter 300 (a szám másodpercben van megadva), de az indexelés időt, majd tovább növekszik.

Mi is kell egy másik parset - UnRTF [17] -, hogy működjön együtt az RTF-fájlt, akkor konvertálja dokumentumok HTML-kód vagy text / plain-formátumban a felhasználó által választott.

Töltse le és telepítse a csomagokat, csatlakozni Parsęta kell arra, hogy sorokat indexer.conf:

Az xls formátumban (xls2csv program ekkor catdoc csomag):

Mime application / vnd.ms-excel text / plain "xls2csv $ 1"

AddType application / vnd.ms-excel * .xls * .xls

doc a dokumentumok néz ki:

Mime application / msword text / plain "catdoc $ 1"

AddType application / vnd.ms-excel * .doc * .doc

AddType text / rtf * .rtf * .RTF

AddType application / rtf * .rtf * .RTF

Mime text / rtf * text / html "/ usr / local / bin / UnRTF --text $ 1"

Mime application / rtf text / html "/ usr / local / bin / UnRTF --text $ 1"

Érdemes felidézni, hogy néhány Windows-alapú alkalmazások olykor fájlokat az azonos kiterjesztése a felső regiszter, úgyhogy hozzá a listához a AddType ugyanaz a kiterjedése, de különböző nevek.

Az indexelés, felveheti minden típusú dokumentumokat, de a motor csak akkor fog megjelenni linkeket a fájl nevét.

Például, ha szüksége van az index rpm vagy iso-fájlt, és kap őket a metaadatokat, előbb meg kell találni egy megfelelő programot (parset), és add meg a kívánt beállításokat index.conf. Támogatott dokumentum típus megtalálható, például az Apache szerver a mime.types fájlba. Kész megoldások az átalakítás fájlok vagy a metaadatok között megtalálhatók a Midnight Commander csomag beállításainak mc.ext fájlt.

cache mód

Számos módja van, hogy gyorsítsák fel a munkát a motor, egyikük - használja a cache adatok tárolási módszer. A munka ebben az üzemmódban van szükségünk gyorstárazott szerszámok és fuss-elosztót, található a sbin könyvtárban képest a motort. Ha már létrehozott SQL-adatbázist a módot (dpmode), biztos, hogy az első vegye ki, majd változtatni a módot a tárolás. Tisztítsuk meg az adatbázis a csapat: «indexelő -C„(tisztítás SQL táblák) és a «indexelő Edrop» (táblázatok, törlés). Ezután hozzon létre származó cached.conf-dist sablon fájl található etc mappában a motor cached.conf fájlt. Ne felejtsük el, hogy változtassa meg a beállításokat a hozzáférést az SQL adatbázis:

Itt szerkesztheti a fájlokat és index.conf search.conf, paramétereinek változtatásával bennük:

Ez megváltoztatja az egész elegendő, de ha azt szeretnénk, hogy még erősebb legyen a motor rugalmassága, ajánlott, hogy megismerjék a speciális beállítások mód cache és a szükséges változásokat a konfigurációs fájlokat.

Ezután keresse meg a könyvtárban sbin motorunk, és indítsa el a tárolt paraméterekkel:

cache 2> cached.out

Demon indul, és írjon hibakeresési információkat cached.out fájlt. Port művek cache alapértelmezett - 7000, de ha szükséges, akkor lehet változtatni (a cached.conf).

Hozza létre újra az SQL-asztalt az új «indexelő -Ecreate» Storage mód parancsot, és a szerver index - indexelő. Befejezése után a futás:

Azt kell mondanom, hogy ez a módszer nem csak meggyorsítja a keresést a bázis, valamint az indexelés sebessége. Most próbálja keresni az adatbázisban, ha mindent helyesen tette, mi lesz eredménye.

A konfiguráció látható, hogy használja a minimum beállításokat, további lehetséges, hogy nagyobb rugalmasságot és funkcionalitást a motor, minden attól függ, a feladatokat. Javítani mod_dpsearch modul, akkor használja a kereső sebességet az Apache szerver. Annak szükségességét, hogy ez a modul fordul elő, amikor több százezer indexelt dokumentumok és növelni kell a sebességet a motor a legnagyobb. Továbbá, a dokumentáció megtalálható és más módszerek a gyorsaság a munka a motor, mint az optimalizálása SQL adatbázisok vagy a virtuális memóriát, mint a cache.

Elég gyakran van szükség, hogy megtalálják a nyelvtani formák szó. Mondjuk van szükségünk minden formája a „feldolgozó” (processzorok, a feldolgozók.), Mert lehetséges, hogy állítsa be a ispell vagy aspellhez modulokat. További információ róluk van írva a dokumentumokat.

A DataparkSearch lehetőség van index hálózati szegmensek, felelős e paraméter: alhálózati 192.168.0.0/24 a indexer.conf.

Lehetőség van arra is, hogy megtiltsák indexelő adott típusú fájlok vagy mappák külön a szerveren: letiltása * .avi vagy tiltása * / cgi-bin / *.

A konfigurációs fájl sablonokat megtalálhatja a leírást (példákkal) egyéb hasznos lehetőség, hogy szükséges lehet a végrehajtása egy adott feladatot.

Nem gondoljuk, a létesítmény egy nyilvános keresési szolgáltatást az interneten, de ha szükség van rá, kérjük, ellenőrizze a vonatkozó dokumentációt az adatbázis, web szerver és egyéb célok védelmével kapcsolatos információk illetéktelen hozzáférés ellen.

A szerver telepítve van a gépen: AMD Athlon 2500 Barton, 3200 512 MB DDR (Dual), HDD WD 200GB SATA (8 MB cache, 7200 rpm). motor konfiguráció: DataparkSearch motor (v4.38), adatbázis MySQL (v4.1.11), Apache webszerver (v1.3.33), indexálási doc, xls, rtf (konvertálás text / plain), html, txt-fájlokat. Használjon több tárolási mód. Feldolgozása körülbelül 2 ezer. Található fájlok a gépen (a lemez méretétől

1 GB), és indexelését tartalom igényel 40 perc, az adatbázis mérete munka után körülbelül 1 GB. Meg kell jegyeznem, hogy a sebességet a motor nem helyi erőforrások függ sebességű csatorna. Szintén az indexelés sebessége függ az alkalmazott parsetov. A gyorsítótár használatával háttértároló mód javítja a működési sebesség mintegy 15-20%. Mint ügyfél által használt szoftver webböngészők tesztelve: Firefox, Opera, Konqueror, a Microsoft Internet Explorer, és még Lynx - nem probléma. Minden munka szerver oldali motor automatizálható a segítségével a jól ismert démon cron, tegye rá a helyes beállításokat adatindexelést.