You are here

Motore di ricerca basato su Apache Solr

Descrizione generale e architettura
Il motore di ricerca si basa su un cluster di server Linux per il calcolo parallelo ospitato sulla piattaforma di Cloud Computing di Amazon EC2. La distribuzione usata è Ubuntu 8.04 Server Edition. La scelta del cluster e della virtualizzazione cloud è stata fatta per garantire la massima scalabilità, sia orizzontale che verticale, del motore al crescere del carico di lavoro.

Richiedi qui una demo o un preventivo gratuito.

Scalabilità orizzontale: i grandi dataset contenenti le migliaia di pagine dei siti sorgente da indicizzare vengono suddivisi in parti più piccole e distribuiti fra più server che eseguono le operazioni di calcolo in parallelo per poi ricomporre i risultati in un unico resultset. In questo modo, al crescere delle dimensioni della base dati è sufficiente aggiungere nuovi server per ridurre i tempi di elaborazione.

Scalabilità verticale: la piattaforma di Cloud computing Amazon EC2 consente di scegliere server con potenze di calcolo differenti a seconda delle esigenze di elaborazione. Qualora i server attualmente in uso si rivelassero sottodimensionati, è possibile aumentarne le prestazioni senza perdere dati e con poche operazioni di riconfigurazione.

L'infrastruttura di calcolo parallelo è basata sul modello map/reduce di Hadoop con crawler Nutch che effettua le operazioni di reperimento dei dati dai siti sorgente, mentre il motore di ricerca vero e proprio si avvale di Apache Solr, un server di ricerca open-source basato sulla libreria di ricerca Lucene Java. Hadoop è l'implementazione open source del modello di calcolo distribuito usato da Google per l'elaborazione delle sue enormi basi dati.

Attualmente sono configurati all'interno del cluster Hadoop un server master e tre server slave.
Tutti gli strati dello stack sono coordinati da un controller (ProCrawler) che consente un utilizzo molto semplice dell'intera infrastruttura e l'automazione della maggior parte dei processi.
Tutte le operazioni di scansione periodica dei siti sorgente e di indicizzazione dei dati sono automatizzate e non richiedono intervento da parte di un operatore.

Dettagli della piattaforma

Amazon EC2:
Instance type: Small
Availability zone: US-east-1a
Root device type: EBS

Sistema:
Distribuzione: GNU Linux Ubuntu
Ram: 1,7 GB
Storage: 100GB su / (EBS), 160GB su /mnt (instance store)

Software installato:
Calcolo distribuito: Hadoop
Crawler: Nutch
Search Engine: Solr
Java

La piattaforma è stata testata per molti mesi in condizioni di completa operatività senza mostrare problemi strutturali o operativi.

Il motore di ricerca consente un'ampia personalizzazione. Ciò permette di adattarlo alle esigenze del cliente e del settore merceologico specifico (i.e, immobiliare, editoria, etc.), grazie all'implementazione di vari plug-in per Solr.
Richiedi qui una demo o un preventivo gratuito.