Cherlock Holmes
Jedná se o fulltextový engine, který umožňuje poměrně efektivní indexaci a vyhledávání. Byl využit u projektu morfeo (vyhledávač pro centrum)-
- Oficiální zdroj http://www.ucw.cz/holmes/download/ a domácí stránka http://www.ucw.cz/holmes/
- Mirror oficiálního zdroje je na http://www.varhoo.cz/holmes/
Obsah |
Instalace
Potřebné balíčky, Perl, Flex, Bison, Zlib, pkg-config, libjpg, libpng, libgif
Můžeme použít balíček nebo zkompilovat aktuální verzi.
./configure free make
A pak lze použít příkaz pro instalovaní dané instance:
make install INSTALL_DIR=<dir>
Ještě je vhodně vytvořit nového uživatele
useradd holmes chown holmes:holmes <dir>
Základní struktura
bin/ programs and utilities cache/ various cache files cf/ configuration files db/ database files of the gatherer index/ main index lib/ libraries used by the programs lock/ lock files, pid files and similar stuff log/ log files tmp/ temporary files
Nastavení
První spuštění:
Nejprve nastavíme pravidla pro filtrování řetězců v souboru cf/filter:
switch host { case =** "*.varhooo.cz": accept; }
a v souboru cf/local je potřeba nastavit, bez toho není možné program použít
HTTP.From <email>
Pak provedem následující příkazy
Inicializace vnitřní databáze
bin/shep-init
Přidání inicializační adresy, musí splňovat vyraz zadaný pro filter a odkazovat se na další stránky:
bin/shep --current --insert --urls http://www.varhoo.cz
Spuštění parseru (bot), který prochází stránky
su holmes -c "bin/gcontrol start"
Co dělá můžeme sledovat příkazem:
tail -f log/shepherd-*
Přidání nové url pro bota.
./bin/gcontrol stop ./bin/shep --current --insert --urls http://<nová url> ./bin/gcontrol start
nebo
./bin/shep --borrow-state ./bin/shep --current --insert --urls http://<nová url> ./bin/shep --return-state
Zkontrolujeme, jestli máme načteny nějaké první stránky:
./bin/shep -L
Spustíme indexaci
bin/indexer -u
a pak sheduler
bin/sched-control start
Rady
Asi nejtěžší částí je upravit ohodnocení stránek, konfigurace je v souboru cf/sherlockd.
WordWeights { text=20; emph=50; small=10; hdr1=150; hdr2=50; alt=10; } MetaWeights { title=100 50; urlword=50 80 150 200; file=10 20 20; ext=80; } StringWeights { ref=10; URL=100; host=10; domain=10; ip=10; }
Další celkem příjemnou věcí pro vyhledávání je zobrazení metadat, což teda hlavně oceníte ve vyhledávání, kde odkaz bude odpovídat title stránku. Pro toto nastavení je nutné odkomentovat v cf/scherlockd
MetaChars { title=60; keywd=240; }
Použití
V případě že byste chtěli vypsat nalezené stránky, je možné použít příkaz
bin/shep-urls -d
Pokud se vám nějaká stránka nedaří načíst, je možné manuálně vyzkoušet a zjistit kde je problém
bin/batch < url.txt
Vyhledávání
bin/query SHOW 1..4 LANG="cz" SITEMAX 1 SITE "<url>" SORTBY CARDID title "word1" AND "word2"