Needle in an enterprise haystack - Plone search engine integrations

European Plone Symposium 2010 - Integrazione di Plone con differenti sistemi di indicizzazione

A Sorrento Andrew Mleczko porta la discussione su un importante argomento ovvero l'integrazione di Plone con sistemi di ricerca ed indicizzazione esterni.

Il sistema di indicizzazione interno di Plone, il portal catalog, è un ottimo strumento che permette una rapida ed efficiente ricerca di contenuti all'interno di Plone. Tale strumento ha comunque alcune limitazioni che riguardano la diminuzione delle performance in sistemi di grosse dimensioni ovvero quando vengono indicizzate centinaia di migliaia di contenuti al suo interno.

Per ovviare a questo sono state proposte differenti soluzioni alternative al "catalog" che permettono di spostare all'esterno l'indicizzazione dei contenuti in modo da utilizzare sistemi dedicati esclusivamente alla ricerca.

A tal proposito vengono proposti due casi d'uso dove l'integrazione di un servizio esterno per la ricerca è stata la soluzione ideale per risolvere alcuni problemi.

Il primo caso interessante riuarda la realizzazione del progetto Biblioteca Accessibile dell'Università di Padova.

Il progetto, iniziato nel 2009, vuole condurre uno studio sui materiali in formato alternativo presenti nelle biblioteche italiane nonché realizzare un meta motore di ricerca che racchiuda le pubblicazioni di questo tipo presenti nelle biblioteche aderenti al progetto.

Le risorse bibliografiche possono essere raccolte in modo automatico interrogando i rispettivi cataloghi delle biblioteche piuttosto che essere creati direttamente in Plone dai bibliotecari stessi.

Un servizio automatizzato permette di raccogliere le informazioni dalle fonti precedentemente definite e popolare il catalogo esterno.

Per tale catalogo è stato usato solr, un software scritto in java open source. Tale software  può essere utilizzato con Plone attraverso il pacchetto collective.solr che fornisce la struttura dell'integrazione.

Un altro progetto interessante riguarda l'indicizzazione di un insieme di siti Plone per la realizzazione del sistema di siti web dell'informagiovani dell'emilia romagna

Punto fondamentale del progetto, che, partendo dall'Emilia Romagna si estenderà a tutte le regioni italiane, è la realizzazione di un insieme di siti Plone che possano esssere consultati dall'utente finale come fossero un unico sito.

La soluzione del problema consiste nell'indicizzazione di ogni sito all'interno di un database centrale realizzato con Postgresql. Tale operazione viene eseguita con il pacchetto ore.contentmirror che prende il contenuto da Plone e lo  rispecchia in un database relazionale. Per preservare la ricerca fulltext è stato aggiunto un plugin a postgresql che consenta tale funzionalita: tsearch2.

Sono questi due casi che rendono evidente come Plone si rivela un ottimo sistema che può essere integrato con altri per la realizzazione di soluzioni differenti che si adattano a differenti casi d'uso.

Grazie ad Andrew le slide dell'intervento sono già disponibili su slideshare.

blog comments powered by Disqus