Entrevista Alberto Rodriguez-Tenreiro sobre diferencias Autonomy IDOL y Lucene/Solr
Recientemente hemos compartido las limitaciones comerciales y de licenciamiento con las que nos hemos topado en proyectos de búsqueda sobre tecnologías como Autonomy IDOL, Microsoft Fast o GSA.
Son precisamente esas limitaciones las que han motivado el traspase de proyectos existentes sobre software comercial a software libre y por ello, hemos avanzado en tratar otras diferencias de soporte, desarrollo o legales.
Dicho esto, veíamos la necesidad de profundizar en las diferencias puramente técnicas y qué mejor forma que comenzar entrevistando a un experto que suma más de 8 años de experiencia combinada tanto en buscadores comerciales como de código abierto.
Alberto es socio fundador de Colbenson Software Factory, spin de desarrollo de software en torno a la búsqueda, recuperación de información y procesado.
Desde Galicia, con un equipo extraordinario liderados por Benito Santos Feijoo, realizan los desarrollos de mayor éxito del panorama español como los buscadores de la Biblioteca Nacional, de Segittur, los del Poder Judicial con cientos de millones de páginas, las soluciones SaaS de medios como Europapress, comercio electrónico como Mango, banca como Caja Madrid, gobierno como Euskadi y por su puesto, legalsolo.com.
Alberto, recientemente Lucene y Solr han sido combinados en uno sólo. ¿Qué diferencias hay entre ellos?
Antes de nada diferenciemos entre Lucene y Solr. El primero es una tecnología de búsqueda y como tal está disponible como un conjunto de librerías que permiten implementar un sistema de búsqueda embedible en cualquier aplicación, mientras que Solr es un servidor de búsqueda, una aplicación que utilizando Lucene implementa una capa http sobre la que interoperar, tanto para acciones de recuperación de información (búsquedas, paramétricos, resúmenes, etc) como para administración.
Para comparar con Autonomy IDOL debemos de pensar en Solr.
Para un desarrollador o arquitecto con experiencia en tecnologías comerciales de búsqueda, qué recomiendas como punto de partida para dar sus primeros pasos en Lucene/Solr?
Hay muchísimo material disponible, personalmente recomiendo el libro oficial de Lucene; “Lucene in actions”, el de Solr; “Solr 1.4 Enterprise Search Server”, pero ambos no son “open source” J.
Por otro lado Lucid Imagination es una empresa privada que ha desarrollado cursos de formación o acuerdos de soporte y que ha publicado su propia adaptación de Solr con un manual “open source” bastante parecido al de Solr “LucidWords Solr Refguide”, que se puede bajar gratuitamente previo registro en:
http://www.lucidimagination.com/Downloads/LucidWorks-for-Solr/Reference-Guide
¿Qué diferencias destacarías del proceso de definición de arquitectura de un proyecto sobre Solr vs IDOL?
Hay que destacar que Solr es una aplicación web desarrollada en J2EE por lo que necesita del soporte de un servidor de aplicaciones J2EE, por ejemplo Apache-Tomcat.
Autonomy IDOL es un producto que se puede instalar en cualquier Sistema Operativo. Tanto Solr como IDOL pueden desplegar distribución y mirroring de contenidos e índices por lo que en esencia las posibles arquitecturas son muy parecidas.
Una diferencia a destacar es que IDOL marca sus requisitos hardware y en Solr nos los demanda el servidor de aplicaciones sobre el que despleguemos.
En cuanto a la facilidad de administración: ¿Qué diferencias destacarías entre Solr y IDOL?
Partiendo de que la documentación de IDOL y su portal de soporte Automater nunca han destacado por su actualización de contenidos, resulta más complejo buscar información sobre un problema o funcionalidad en IDOl que en Solr.
Solr implementa varias aplicaciones para realizar análisis de los índices, campos o configuraciones, como por ejemplo Luke o la propia administración web de Solr.
Ambos IDOL y Solr implementan una capa http para realizar la mayoría de las acciones administrativas, indexaciones, borrados, etc…Así como consultar estados, estadísticas o configuraciones, con lo que desde el punto de vista de interoperar no hay diferencias destacables.
De todo el rico abanico funcional que ofrece Autonomy IDOL: ¿Qué aspectos echas en falta en Solr?
Solr contiene lo básico para implementar un servidor de búsqueda y gracias a su diseño basado en plugins, podemos extender y agrandar su abanico de funcionalidades hasta equipararlo con IDOL.
Por ejemplo, existen soluciones para implementar seguridad a nivel de documento, combinar resultados, resúmenes, multi-idioma, multi-core, clustering de resultados, búsqueda paramétrica, etc.
La ventaja de Solr en lo relativo a funcionalidades es que al ser una aplicación open source y disponer del código fuente, podemos extender o desarrollar nuestros propios plugins, con las funcionalidades que necesitemos.
En Colbenson SF (Software Factory), hemos desarrollado y damos soporte a diferentes SearchComponents para implementar búsquedas especiales sobre campos combinados como por ejemplo para el proyecto de Mango.
Con respecto a documentación y soporte: ¿Qué dificultades puedes adelantarnos del trabajo sobre Solr?
Como comentaba anteriormente, Autonomy peca de su documentación y soporte por lo que al estar acostumbrado más a una pelea individual frente a los problemas con IDOL, Solr nos proporciona una comunidad rica en contenidos y constantemente actualizada sobre problemas y soluciones.
Por último, sabiendo tu experiencia en generar el máximo rendimiento de Autonomy IDOL ¿Qué limitaciones ves en el diseño e implementación de soluciones de alto rendimiento sobre Solr?
Inicialmente no veo ninguna limitación y si que se ven muchas ventajas frente arquitecturas sobre IDOL.
El rendimiento tanto en indexación como en recuperación es superior en Solr. Por poner un ejemplo, en pruebas realizadas sobre IDOL Content y Solr sobre Apache-Tomcat en un mismo servidor, para la indexación de un paquete de 400.000 documentos de unos 450 Mb, Autonomy necesitó 40 minutos para procesar e indexar los documentos frente a los 7 minutos que necesitó Solr.
En cuanto a la consulta, a parte de los tiempos de recuperación, la gestión de caches de Autonomy siempre ha sido pobre y por el contrario, existen diferentes opciones para implementar caches sobre Solr mucho más óptimas.
Gracias Alberto por compartir tus experiencias.
¿Cómo podemos seguir ofreciendo respuestas? Pensamos que un siguiente paso es formalizar y publicar un “funcionality matrix” donde presentar la lista de funcionalidades disponibles en IDOL y contrastarlas con las disponibles en Solr.

2 Retroenlaces
[...] Hemos tratado las limitaciones de licenciamiento, las diferencias en desarrollo y posicionamiento así como una introducción en aspectos de interoperatividad, arquitectura y rendimiento mediante una entrevista a Alberto Rodríguez-Tenreiro. [...]
[...] la habéis leido, os recomendamos la entrevista a Alberto Rodriguez-Tenreiro dado que ayuda a comprender las similitudes en términos de inter-operatividad, escalabilidad, [...]