Category: Motore di ricerca ht://Dig

ht://Dig aut Lhtdig: conclusioni

Per concludere, data la sua versatilità e la sua semplice configurazione, ht://Dig è uno dei motori di ricerca più usati per i singoli domini. Punti a favore sono: la possibilità, grazie a parser esterni, di indicizzare molti tipi di file con vari algoritmi (molto utile è quello per i sinonimi); la possibilità di rieffettuare il crawling senza intaccare il db necessario per le ricerche.

Per la fase di searching, inoltre, è positiva la facoltà di mutare la formula di ranking e restringere la ricerca a parti del dominio; in più, la modifica dei template per l’interfaccia web permette di integrarla a piacimento in una propria. Il riconoscimento dei Meta tag e il rispetto delle regole imposte dal file robots.txt, consentono di sfruttare al meglio le metainformazioni che i webmaster inseriscono nel codice HTML.

Nonostante il crawler sia efficiente, non è designato per l’intero web e quindi non si può scalare più di tanto. Per quanto riguarda il filesystem, ht://Dig è limitato, non prevedendo un meccanismo appropriato per effettuare l’indicizzazione di più directory senza specificare i path dei file. In più, l’utilizzo degli algoritmi fuzzy possono far decadere la velocità di risposta in maniera pesante e la mancanza di una rimozione dei duplicati può fare ritrovare più volte lo stesso documento.

ht://Dig aut Lhtdig: query

Per interrogare l’indice si utilizza il CGI htsearch, che è possibile trovare nella directory cgi-bin nel server web, come specificato nel file Config all’inizio dell’istallazione. Quindi, dopo aver modificato il file httpd.conf di Apache aggiungendo il path dell’applicazione, si possono effettuare le query all’indirizzo http://localhost/HTDIG/search.html.

Selezionando un’opzione nel campo “Match” dell’interfaccia web, sono possibili le seguenti interrogazioni:

ll che cerca i documenti con tutte le parole specificate nella query, boolean per effettuare ricerche booleane inserendo semplicemente l’operatore tra i termini da cercare ed Any, che trova pagine con almeno un termine specificato nella query. Inoltre, in base all’algoritmo fuzzy che abbiamo, scelto saranno inclusi nella ricerca sinonimi, suffissi, prefissi e altri, che aumentano la possibilità di trovare documenti inerenti alla nostra query.

 I risultati possono essere ordinati per score, per title (prima i documenti che hanno la parola cercata nel titolo), per data dell’ultima modifica; in più, è possibile modificare la formula di ranking aggiungendo nel file di configurazione htdig.conf alcune direttive che permettono di cambiare il peso attribuito ad una parola, in base al tag in cui sono contenute nel file html o per altre caratteristiche. Le più indicative sono: 

# peso nei campi in rlievo

heading_factor: xx

# peso nei campi META description

meta_description_factor: xx

# peso testo body

text_factor: xx

# peso nel titolo

title_factor: xx

# peso in base ad un’analisi dei link

backlink_factor: xx

# peso per I doc più recenti

date_factor: xx.

Indicizzazione in locale

PHt://Dig non è stato progettato esplicitamente per il filesystem, tuttavia può compiere indicizzazione in locale nella stessa maniera in cui lo fa in remoto; è necessario inserire nel file htdig.conf le seguenti direttive:

start_url: http://localhost/
local_urls_only: true
local_urls: http://localhost/=/home/user/file/

Praticamente, quando l’opzione local_urls_only è settata a true, htdig cerca i file da scaricare nella directory in local_urls; se non vengono trovati prosegue la ricerca nell’URL specificata in start_url.

Tuttavia, htdig segue solo i link, quindi le pagine devono essere collegate tra loro oppure è necessario passare come path un file contenete tutti i percorsi assoluti dei file da indicizzare.

Indicizzazione in remoto

Prima di lanciare il crawler è necessario impostare il file di configurazione che si trova nella directory CONFIG_DIR; quello di default è htdig.conf e le direttive principali sono:

#directory in cui htdig creerà i database
database_dir: /usr/local/HTDIG/db/

#l’Url di partenza
start_url: http://www.univaq.it

#limitare il crawling a quel dominio
limit_urls_to: ${start_url}

#Per escludere URL contenenti queste sottostringhe
exclude_urls: /cgi-bin/ .cgi

#estensioni escluse
bad_extensions: .wav .gz .z .sit .au .zip .wmv

#dimensione massima di ogni file scaricabile
max_doc_size: 20000000

Dopo la configurazione, è possibile lanciare htdig:

$ $HTDIG_HOME/bin/htdig –vsc $HTDIG_HOME/conf/htdig.conf
dove l’opzione –v è per la verbosità del comando, -s per statistiche sul crawling (Fig. 15) e –c specifica quale file di configurazione usare. Alla fine del processo htdig ha creato, nella directory $HTDIG_HOME/db, i file db.docdb (contente le informazioni sulle pagine scaricate) e db.wordlist (è la lista delle parole trovate con il riferimento ai documenti in cui appaiono).

Dopo il crawling, l’indice viene creato con htmerge:

$ $HTDIG_HOME/bin/htmerge -vc $HTDIG_HOME\conf\htdig.conf
i db prodotti sono db.docs.index (l’indice dei documenti) e db.words.db (il database creato a partire da db.wordlist).

Prerequisiti e installazione ht://Dig aut htdig

LEssendo ht://Dig sviluppato sotto Unix e in C++, qualsiasi distribuzione Linux è adatta; per compilare sia i sorgenti che alcune librerie GNU, si è adottato gcc/g++ con GNU make come makefile; poi bisogna solo verificare la presenza della libreria libstdc++ che, in vecchie versioni del gcc/c++ non è inclusa.

Come web server CGI engine, si è utilizzato Apache 1.3 (http://www.apache.org).
Scaricare dal sito http://www.htdig.org l’ultima versione stabile, ad es. htdig-*.tar.gz. ed estrarre l’applicazione con:
$tar –xzf htdig-*.tar.gz

Si procede lanciando il programma ./configure presente nella directory appena scompattata, il quale provvederà a verificare i requisiti. Poi, editare il file CONFIG per specificare i path necessari all’installazione. I principali parametri sono:
• DEST = dove ht://Dig verrà istallato.
• BIN_DIR = directory per gli eseguibili htdig, htmerge, ecc…
• CONFIG_DIR = path con i file di configurazione.
• DATABASE_DIR = contenenti i database o indici.
• CGIBIN_DIR = directory cgi-bin del server web.
• IMAGE_DIR = directory immagini dell’interfaccia web.

Quindi compilare i sorgenti e istallare l’applicazione.
$make
$make install

per semplicità indicherò con $HTDIG_HOME la directory principale in cui sono stati installati i file di ht://Dig.

Informazioni htdig aut ht:/Dig

Lhtdig, o meglio ht://Dig [18] è un progetto di ricerca in stato avanzato, un programma in grado di indicizzare ed effettuare ricerche in siti web, adatto per un piccolo dominio o una intranet e viene distribuito secondo la GPL. ht://Dig è stato sviluppato alla San Diego University a partire dal 1995, è scritto in C++ ed è stato testato sulla maggior parte delle distribuzioni Linux, Sun, Bsd, ed altre; per Microsoft comunque, è possibile eseguire l’istallazione su Cygwin.

Gli eseguibili principali di htdig sono 3:

1. htdig
crea il database necessario alla ricerca; è un crawler che permette di scaricare i documenti dalla rete, in rispetto allo standard robots.txt, partendo da un’URL radice e scendendo in profondità finchè ci sono link da processare. Supporta file html, xml, ps, ppt, doc, xls, pdf grazie all’utilizzo di parser esterni, come catdoc per i file word o pptohtml per i powerpoint, che vanno configurati in maniera appropriata.

2. htmerge
crea gli indici di ricerca e quando si procede all’indicizzazione incrementale esegue il merge dei documenti che sono cambiati nel database di ricerca (merging); “comunica con htdig”.

3. htsearch
applicazione CGI che effettua la ricerca (searching); È possibile personalizzare la formula di ranking assegnando pesi diversi in base alla locazione della parola all’interno dei tag HTML o al numero di link che puntano ad una pagina, per esempio, aumentare l’importanza dei termini contenuti nei titoli (tag <title>). Non è difficile infine, modificare i template dell’interfaccia web, che htsearch utilizza per visualizzare i risultati.

Vi sono anche altre applicazioni che permettono funzioni speciali. htfuzzy è in grado di creare indici con i seguenti algoritmi: soundex, metaphone, stemming, synonyms (preleva le informazioni sui sinonimi da un dizionario precedentemente creato), accent stripping (per parole accentate) , substring e prefix. Inoltre, in fase di ricerca è possibile scegliere quali utilizzare assegnando loro il peso che avranno nell’elaborazione del rank finale.
htnotyfy scandisce l’indice creato da htmerge e invia un’email per ogni documento che è “scaduto”, cioè la sua permanenza nell’indice senza essere aggiornato ha superato una soglia predefinita.

La configurazione di tutte le applicazioni ht://Dig passa attraverso le direttive specificate in un semplice file testuale o tramite gli option tag da linea di comando. Vi sono decine di opzioni da settare per personalizzare e ottimizzare il motore di ricerca secondo i propri bisogni; nel sito http://www.htdig.org la documentazione è ampia e approfondita e le mailing list sono presidiate dagli sviluppatori che colmano qualsiasi lacuna.

WordPress Themes