Soluciones de indexación

Para realizar búsquedas en bases de datos, éstas deben estar indexadas. Dependiendo de que la indexación englobe incluso los anexos que contienen los documentos, se facilitará en acceso a información más rica y pertinente

Soluciones de indexación

10 mayo 2009

LA OPINIÓN DEL EXPERTO

“El índice está corrupto”, “Tarda mucho en abrirse”, ”Espera, estoy accediendo a la vista”, “Tengo que mejorar la escalabilidad con este hardware”, “Tengo dificultades en unificar la búsqueda para distintos servidores“, etc.

 

Éstas son las frases que nos encontramos diariamente los responsables de Lotus que gestionamos miles de documentos. ¿Cómo dar solución a los problemas de búsqueda sin cargar los índices de las BBDD y respetando los sistemas internos?

 

Para realizar búsquedas en bases de datos, éstas deben estar indexadas. La indexación que se consigue es muy buena, englobando incluso los anexos que contienen los documentos y facilitando el acceso a la información almacenada.

 

Pero aquí encontramos un obstáculo: el índice es único por base de datos, es decir, cada base de datos indexa su propio contenido. ¿Qué ocurre cuando queremos realizar una búsqueda combinando varias bases de datos? ¿Y si éstas están alojadas en servidores distintos?

 

¡A desarrollar toca!

Es aquí cuando entran en juego los desarrolladores. Todos conocemos la rapidez con la que se desarrolla en Lotus, pero cuando hablamos de búsquedas personalizadas hay que tener en cuenta varios factores: qué criterios de búsqueda vamos a utilizar, cómo vamos a integrar las bases de datos en la búsqueda, que información vamos a extraer, y sobre todo los factores relativos a la seguridad.

 

Son muchos los elementos que tenemos para definir la seguridad en las bases de datos, empezando por las LCA (Listas de Control de Acceso), los roles que se definen en las mismas, y profundizando hasta el nivel de los documentos en campos como Autores y Lectores. Todos estos elementos garantizan la integridad de las bases de datos y su contenido.

 

Para mostrar los contenidos de las bases de datos así como los resultados de las búsquedas, utilizamos las vistas. Éstas calculan qué documentos puede visualizar cada usuario. Este acceso viene definido por los campos Autores y Lectores. Cada vez que visualizamos una vista esta se actualiza en base a los documentos que tenemos acceso.

 

Hemos comprobado que esto puede ocasionar que no tengamos un rendimiento óptimo de las mismas, ralentizando la visualización de los documentos, e incluso es posible que durante un tiempo, demasiado largo en ocasiones, se nos muestre el mensaje “Actualizando el contenido de la vista… por favor, espere”.

 

Una opción que tenemos para intentar solventarlo es indicar que se refresque el índice de la vista manualmente y no automáticamente en el diseño de la vista. Con esto ganamos en rapidez al abrir la vista, pero seguimos con el mismo problema de ralentización cuando actualizamos el índice manualmente para ver los cambios o nuevos documentos.

 

Soluciones en el mercado

Buscando soluciones para acceder al contenido, incluyendo los anexos, de las bases de datos Lotus, encontramos Exalead, un software de acceso a la información que incluye un conector para Lotus, así que lo probamos.

 

Esta empresa francesa despertó nuestra curiosidad a través de clientes como PriceWaterhouseCoopers. La primera toma de contacto nos sorprendió gratamente, sobre todo por la facilidad con la que se configura el conector Lotus. En tan sólo tres pasos tenemos nuestra base de datos integrada en el índice de Exalead, aportando además la indexación de más de 250 extensiones de anexos que contengan los documentos.

 

Si lo comparamos con la indexación de las bases de datos en Lotus, el concepto en cierto modo es similar: en Lotus, por base de datos se genera un índice y en Exalead, por base de datos se configura un conector. Ésta es la primera ventaja: en el índice de Exalead podemos integrar el número de conectores que queramos, e incluso podemos indexar bases de datos locales y bases de datos alojadas en servidores, combinando bases de datos de distintos servidores. Con respecto a los sistemas existentes, no es intrusivo y no hay que modificar ninguna base de datos ni elementos de diseño para tener nuestra base de datos indexada en Exalead.

 

En muchos desarrollos Lotus se realizan conexiones a fuentes de datos externas, sobre todo para realizar consultas o unificación de datos. Gracias a los más de 35 conectores que posee Exalead podemos relacionar datos de distintas fuentes. Otra posibilidad es enriquecer los datos corporativos internos con la información web o la nuestra personal en nuestro PC, ya que incorpora búsqueda web, desktop y corporativa.

 

La seguridad es lo más destacable: podemos dejar la seguridad por defecto, es decir, utilizar la que hemos definido en Lotus (LCA, roles, campos Autores y Lectores), o bien podemos definirla en Exalead, creando usuarios y grupos asignándolos a los conectores.

 

Una vez configurado Exalead e indexado nuestras bases de datos probamos el cliente de búsqueda. Nos llamó mucho la atención el apartado de redefinir la búsqueda, pudiendo excluir cualquier metadato definido en Exalead, aumentando así las posibilidades de acceder a la información que realmente queremos encontrar.

 

Conclusiones

En definitiva, utilizando Exalead como filtro para mejorar la búsqueda de información en bases de datos Lotus hemos ganado en rendimiento, y disminuido el tiempo utilizado a buscar la información que necesitamos.

 

De esta forma no cargamos los índices de las bases de datos, aportando a los usuarios mayor rapidez a la hora de acceder a los datos almacenados, respetando la seguridad y evitando que tengan que actualizar el índice de las vistas.

 

Utilizando Lotus como gestor de contenidos y Exalead como motor de búsqueda, obtendremos los mejores resultados que las herramientas del mercado nos ofrecen hoy en día.

 

Por Andrés Ortega, consultor Senior para IBM Lotus Software 

Loading...