Categorie
Lavori ELbuild Sviluppo software

LexEureka – Motore di ricerca giustizia amministrativa

LexEurekaNegli ultimi mesi abbiamo lavorato ad un progetto appassionante e promettente, ovvero la creazione di un motore di ricerca per la giustizia amministrativa. Il progetto prende il nome di LexEureka e consente agli utenti di effettuare ricerche FULL_TEXT su oltre un milione e mezzo di provvedimenti emessi dal giudice amministrativo dal 1996 ad oggi.

Tutte le sentenze, le ordinanze ed i decreti sono stati indicizzati per consentire ricerche rapide ed esaustive. L’algoritmo che determina la pertinenza di un risultato fra quelli che soddisfano la chiave di ricerca è stato studiato ed ottimizzato con l’aiuto di avvocati amministrativi, in modo da risultare veloce e preciso.

Ricerca-Amministrativa.it si candida ad essere uno strumento indispensabile per ogni avvocato amministrativista e per chiunque si deve relazionare con i provvedimenti emessi dal giudice amministrativo.

La registrazione è semplice, veloce e consente di accedere a tutte le funzionalità di LexEureka per sempre. Il solo limite esistente è sul numero di ricerche settimanali, n limite che è possibile rimuovere sottoscrivendo un abbonamento a pagamento fra quelli disponibili nella sezione offerte.

LexEureka, effettuare una ricerca

L’interfaccia utente è studiata per essere semplice ed immediata e viene proposta in due versioni, la versione semplice e quella avanzata.

La versione semplice è inspirata alla classica interfaccia Google e presenta un solo campo di testo in cui digitare le chiavi di ricerca. Il motore supporta tutti gli operatori disponibili sui motori tradizionali, inclusi gli operatori AND, OR, NOT ed i doppi apici per la ricerca della frase esatta. E’ disponibile una sezione di aiuto che riassume le funzionalità disponibili.

LexEureka Interfaccia Ricerca Semplice
LexEureka Interfaccia Ricerca Semplice

In alternativa è a disposizione una interfaccia di ricerca avanzata che presenta numerosi filtri da poter incrociare per ridurre a priori il numero dei risultati ottenuti.

lexeureka interfaccia ricerca avanzata
LexEureka interfaccia ricerca avanzata

LexEureka, consultazione dei risultati

La consultazione dei risultati è ispirata anch’essa a Google. I risultati vengono infatti proposti completi di uno “snippet” ovvero di un frammento di testo che mostra come e dove le parole chiave scelte appaiono nei provvedimenti estratti, facilitando l’individuazione solo dei documenti interessanti.

lexeureka consultazione risultati ricerca
LexEureka consultazione risultati
lexeureka faceting
LexEureka faceting

Un particolare interessante dell’interfaccia di consultazione dei risultati è costituito dalla colonna sinistra, dove il sistema automaticamente dispone una serie di facet (ovvero di filtri predisposti sulla base delle parole chiave) in modo da rendere immediato raffinare la ricerca senza doverla ripetere.

I facet disponibili riguardano l’anno del provvedimento, la tipologia (sentenze, decreti, ordinanze e pareri), l’autorità (Consiglio di Stato, TAR o CGAR). Sempre nella colonna dei facet è a disposizione l’ordinatore che consente di utilizzare ordinamenti alternativi al default ovvero per pertinenza e crescente o decrescente per data di pubblicazione.

LexEureka indicizza sentenze, decreti, ordinanze e pareri. Tutti i provvedimenti emessi dal 1996 a oggi da tutte le autorità che concorrono alla giustizia amministrativa, che ad Aprile 2013 si avvicinano al ragguardevole numero di circa 1.600.000 documenti. Da qui l’esigenza di una interfaccia come quella appena descritta per navigare efficientemente in questo sconfinato archivio.

I facet sono combinabili in modo ortogonale, ovvero possono essere utilizzati in sequenza raffinando la ricerca ad un numero esiguo di risultati in 2 o 3 rapidissimi click.

LexEureka, consultazione dei provvedimenti

Una volte individuato il provvedimento d’interesse l’utente può aprirlo semplicemente cliccando sul nome, per aprire una pagina come quella sotto. Il provvedimento viene mostrato nella versione originale, accompagnato da una serie di dati estratti dal testo come l’estensore, l’autorità, il numero.

LexEureka Pagina risultato
LexEureka pagina risultato

Le funzionalità Stampa ed Esporta in formato Word sono a disposizione per archiviare i provvedimenti necessari alla preparazione di un ricorso o per qualsiasi altro fine professionale. Non c’è limite ai provvedimenti che gli abbonati possono scaricare.

All’interno del documento le parole chiave vengono mostrate con un colore di sfondo arancio, in modo da rendere semplice l’individuazione degli estratti di sentenza più importanti.

LexEureka testo evidenziato
LexEureka testo evidenziato

Completa il novero delle funzioni a disposizione l’innovativa funzione cita, molto apprezzata dagli avvocati amministrativisti. Selezionando qualsiasi parte del testo e cliccando con il tasto desto appare un dialog che consente di esportare la citazione già completa con gli estremi del provvedimento. Un piccolo strumento che consente un grande risparmio di tempo a chi cita le sentenze nella redazione di documenti professionali.

LexEureka funzione citazione
LexEureka funzione citazione

Il risultato è quello nell’immagine sotto.

LexEureka citazione generata
LexEureka citazione generata

Il pulsante “Massima” è a disposizione degli editor, ovvero dei professionisti che fanno parte della redazione di Ricerca-Amministrativa. Se sei un avvocato amministrativista e sei interessato a collaborare con Ricerca Amministrativa alla costruzione di LexEureka visita la sezione lavora con noi

Un po’ di dettagli tecnici

LexEureka è basato su Apache Lucene ed in parte su un database relazionale classico MySQL, oltre che su un layer di cache custom derivato dalla libreria Guava di Google. L’indicizzazione dei provvedimenti è affidata ad un componente multithread Java SE che opera in background gestendo la normalizzazione dei dati in ingresso, mentre l’interfaccia utente è realizzata tramite una web application Java EE (JSF, JPA, EJB) deployata su Glassfish.

Durante lo sviluppo di LexEureka abbiamo dovuto affrontare numerose sfide tecniche, ma il prodotto finale è veramente qualcosa di cui andiamo orgogliosi da un punto di vista tecnico. A livello di performance le ricerche FULL_TEXT su oltre 1.500.000 documenti (32 GB di testo grezzo) vengono completate spesso in meno di 100 ms, anche in presenza di oltre 20 utenti concorrenti.

Se hai in mente un progetto, semplice o complesso che sia, ELbuild sviluppa applicazioni e siti web Java EE e può progettare e realizzare qualsiasi tua idea.

Nelle prossime settimane scriverò alcuni post tecnici sugli aspetti che considero più rilevanti, compreso l’approccio NoSQL per la gestione e l’interrogazione avanzata di grossi moli di dati.

Di Luca Adamo

Luca Adamo si è laureato con lode in Ingegneria delle Telecomunicazioni all'Università degli studi di Firenze ed è dottorando in Ingegneria Informatica, Multimedialità e Telecomunicazioni, sempre nella stessa facoltà. Le sue competenze tecniche includono lo sviluppo software, sia orientato al web che desktop, in C/C++ e Java (J2EE, J2SE, J2ME), l'amministrazione di macchine Unix-based, la gestione di reti di telecomunicazioni, ed il design di database relazionali.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *