LinkedIn, mantenendo fede alla promessa fatta lo scorso ottobre durante l’acquisizione di
IndexTank — società conosciuta maggiormente per aver implementato motori di ricerca per
Reddit,
BitTorrent e
TaskRabbit — ha
donato alla comunità Open Source le
tecnologie ottenute rilasciandole sotto la licenza
Apache 2.0.
Da un punto di vista tecnico
IndexTank è costituita da tre elementi differenti: l’
IndexEngine, un sistema in tempo reale per la ricerca full-text e l’indicizzazione, capace di valutare i risultati in base agli input generati dagli utenti come la condivisione o la votazione di un documento; l’API, un'interfaccia RESTful, che gestisce l’autenticazione, validazione e comunicazione con l’
IndexEngine e consente in sostanza di accedere ai servizi di ricerca usando varie tecnologie (Java, Python, .NET, Ruby e PHP) tramite HTTP; il
Nebulizer, un framework
multi-tenant per ospitare e gestire un numero illimitato di indici per creare sistemi tipo
Infrastructure-as-a-Service (IaaS).
Dei tre solo il terzo elemento è facoltativo, infatti il suo utilizzo è necessario solo se si è un cloud provider e si vuole fornire
IndexTank come servizio, altrimenti, come nel caso di Reddit, basta impiegare l’
IndexEngine e la API.
Questo comunque non è il primo rilascio di tecnologie legate alla ricerca da parte di
LinkedIn: infatti è già stato rilasciato
Bobo, un’
estensione Java per Apache Lucene, che consente la ricerca su dati semi-strutturati;
Zoie, un
motore di ricerca in tempo reale costruito sempre su Apache Lucene e, infine,
Cleo, che è una
libreria per servizi di autocompletamento nelle form.
Tornando su
IndexTank, il codice sorgente dei vari componenti è disponibile su
GitHub in due progetti distinti, uno per l’
Engine e l’altro per i
Servizi (che comprendono l’API, il
Nebulizer e altri componenti).