Progetto MARSILIUS il motore di ricerca dell`Ateneo fiorentino

Transcript

Progetto MARSILIUS il motore di ricerca dell`Ateneo fiorentino
Progetto MARSILIUS
il motore di ricerca dell’Ateneo fiorentino
Premessa
Con il crescere della quantità di informazione a disposizione degli utenti della rete, uno dei
problemi fondamentali è la difficoltà di selezionare con la maggior precisione possibile ciò
che interessa. Per questa ragione negli ultimi anni l’attenzione si orientata verso i sistemi di
ricerca e filtraggio delle informazioni.
Se questo aspetto è assolutamente evidente sulla scala globale dell’intera rete Internet, non
è meno importante in situazioni molto più limitate ma molto complesse e articolate come
un’università.
L’utente che si trova davanti alla scatola nera “Università di Firenze” e ha bisogno di trovare
un’’informazione specifica deve poter disporre di strumenti efficaci ed efficienti per
raggiungere questo scopo. Sicuramente una valida organizzazione dei contenuti del sito web
è una condizione necessaria, ma se le informazioni contenute sono molte, non è sufficiente.
Per questa ragione è sempre più necessario che l’Ateneo si doti di uno strumento specifico
per reperire le informazioni, cioè un motore di ricerca dedicato, che vada a sostituire l’attuale
motore di ricerca implementato da CSIAF nel 2005 su sollecitazione di alcuni uffici
dell’Ateneo (Segreteria Organi collegiali, ufficio Redazione Siti Web e ufficio Comunicazione
Interna e Sviluppo Organizzativo) che indicizza solo parte dei documenti del sito di Ateneo e
non risulta essere adeguato alle esigenze complessive.
Tale strumento sarebbe utile anche al raggiungimento dell’obiettivo C “Accesso alle
informazioni sulla didattica” del progetto “Potenziamento e sviluppo dei servizi informatici di
supporto alla didattica per gli studenti” cofinanziato dalla Fondazione del Monte dei Paschi di
Firenze, in quanto consentirebbe un facile reperimento delle informazioni attualmente
disperse in molti siti: sito di Ateneo, di Facoltà e di Corso di Studio.
Un motore di ricerca consiste in realtà di tre entità logicamente distinte:
il web crawler, che scandaglia sistematicamente un insieme di siti web e ne cataloga le
risorse (pagine web, documenti pdf ecc.), inserendo in un database le informazioni rilevanti;
l’indexer, che opera sulle informazioni precedentemente catalogate creando gli indici utili a
identificarle:
il searcher, che consente agli utenti di formulare una richiesta, effettua la ricerca sugli indici e
fornisce le risposte ottenute.
Anche se in linea di principio è possibile avere applicazioni distinte corrispondenti alle tre
entità, ragioni di efficienza e di facilità di interfacciamento suggeriscono di adottare soluzioni
integrate fin dalla nascita. D’ora in poi useremo quindi il termine “motore di ricerca”, o MdR
per indicare il sistema completo delle sue tre componenti.
Situazione
Il fattore principale di cui tenere conto è che non esiste UN sito web dell’Università di
Firenze, ma una galassia di siti, nati in tempi diversi e spesso molto diversi fra loro, orbitanti
attorno al sito “principale”. Un MdR per l’Ateneo deve quindi poter effettuare un crawling
periodico dei diversi siti.
In secondo luogo i siti non si differenziano solamente per l’aspetto grafico, ma per
l’organizzazione delle informazioni e per la tipologia delle “pagine”. Un ampio sottoinsieme
utilizza pagine dinamiche fornite da un Content Management System (il site CMS-format
CSIAF), ma sono molti anche i siti che ospitano solo pagine HTML statiche. Esistono poi siti
con contenuti dinamici eterogenei e soprattutto un vasto insieme di documenti statici in vari
formati: pdf, doc, rtf, ppt ecc.
Tipologie di Motori di Ricerca
Il mercato offre fondamentalmente due tipi di soluzioni:
• software
• appliance
Software
La soluzione software prevede l’utilizzo di un set di applicazioni corrispondenti ai tre
componenti di un MdR. All’interno di questa tipologia è importante distinguere fra soluzioni
proprietarie e open source.
Software proprietario
In questo ambito i prodotti sono molteplici e di vario livello. Tutti sono caratterizzati dal
prevedere una stretta integrazione di crawler, indexer e searcher.
Vantaggi:
il software è tipicamente pacchettizzato e di facile installazione;
unico referente tecnico;
facile reperibilità e fruizione della documentazione.
Svantaggi:
il software presenta vari livelli di “chiusura”; non è facile se non impossibile, effettuare
modifiche.
le licenze sono costose.
Software open source
Anche nel mondo open source i prodotti sono molteplici, ma in realtà pochi quelli che
sembrano fare capo a progetti attivi e supportati da un’ampia comunità.
In questo ambito è stato possibile effettuare alcuni test su prodotti specifici.
SWISH-E
Da alcuni anni l’indexer e il searcher di SWISH-E vengono utilizzati in Ateneo per indicizzare
sezioni specifiche del sito principale, in particolare i verbali di Senato Accademico, Consiglio
di Amministrazione e Nucleo di Valutazione, il Bollettino ufficiale e il notiziario.
Mentre l’indicizzazione di questi set di documenti non ha presentato grandi problemi, i test di
utilizzo del crawler si sono rivelati problematici (lentezza, irraggiungibilità di alcuni link, veri e
propri crash).
SWISH-E è stato realizzato per lo più in C, con alcuni moduli in Perl. La conoscenza di
quest’ultimo linguaggio è essenziale per effettuare modifiche di medio livello al sistema.
Terze parti forniscono un’interfaccia PHP per realizzare l’interfaccia del searcher.
Lucene - Nutch - Solr
Lucene è specificamente una libreria di funzioni creata nell’ambito del superprogetto Apache.
Al suo interno è stato realizzato Nutch, che è fondamentalmente un crawler e un indexer. In
esso esiste una funzionalità di searcher molto semplificata, dato che il vero searcher è Solr.
La loro integrazione tuttavia non è out-of-the-box e richiede un complesso lavoro di
integrazione.
Le esperienze fatte con Nutch indicano che si tratta di un software valido e sicuramente
adatto a gestire situazioni complesse, anche superiori a quella dell’Ateneo. Questa capacità
si paga in termini di difficoltà di configurazione e resta aperta la questione di integrare il
seacher Solr con Nutch, operazione per la quale si rileva la necessità di un notevole knowhow specifico.
Lucene, Nutch e Solr sono realizzato in linguaggio Java e utilizzano al meglio la piattaforma
Tomcat di Apache (anche se altri motori servlet sono utilizzabili).
Sphider
Sphider è un MdR sviluppato per situazioni medio-piccole ed è realizzato interamente in PHP
con il supporto del database MySQL. Entrambi questi ambienti sono largamente utilizzati sui
sistemi dell’Ateneo, e ciò facilita la possibilità di apportare modifiche per adeguare il software
alle necessità che possono manifestarsi in corso d’opera.
Nei test effettuati si è rivelato molto facile da installare e configurare, tuttavia va rilevato che
le funzionalità offerte non sono molto avanzate, almeno nella versione esaminata. Esiste
infatti una release Spider-plus molto più avanzata che utilizza una versione di PHP al
momento non disponibile per il test e che sembra garantire prestazioni superiori in termini di
precisione nella ricerca.
Appliance dedicate
Una appliance è un sistema computerizzato progettato per svolgere un determinato compito
molto specifico come, in questo caso, ospitare un MdR. Tali sistemi sono noti come Web
Search Appliance.
Vantaggi:
ottimizzazione delle risorse;
la Server Farm non è gravata da speciali oneri di manutenzione e gestione, come accade in
tutti i casi di soluzione di tipo software.
Svantaggi:
si tratta sempre di sistemi “chiusi”, dove le possibilità di intervento sono limitate a un set
stabilito a priori dal fornitore.
Prodotti sul mercato
Esistono vari appliance sul mercato internazionale, fra cui abbiamo rilevato degne di
interesse:
ƒ
ƒ
ƒ
ƒ
Google
Thunderstone
Index Engines
Infolibrarian
Al di là delle caratteristiche, fra essi solo Google è presente in forze in ambito italiano e ciò di
fatto lo rende l’unica scelta disponibile qualora si scelga questa tipologia di sistemi.
Tenendo conto dello “svantaggio” sopra indicato, si sono esaminate con attenzione le
possibilità di configurazione e di adeguamento a realtà complesse del sistema offerto da
Google, constatando che sono molto ampie e in grado di soddisfare le più varie esigenze.
Si è rilevato inoltre che l’appliance di Google è stata adottata dalle Università di: Torino,
Palermo, Ferrara, Modena e Reggio, Verona.
A cura dell’Ufficio Siti Web – CSIAF
Il materiale tecnico e le informazioni contenute nel presente documento sono di
natura strettamente confidenziale e di esclusiva proprietà del CSIAF. Non è consentita
la divulgazione e la riproduzione totale o parziale senza esplicita autorizzazione.