Cherlock Holmes

Z Varhoo
Přejít na: navigace, hledání

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)-

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"
Osobní nástroje