Pagina principal del proyecto BasesPágina general de consultasOtros enlacesInformación Técnica

Información Técnica

Página principal Desarrollo SostenibleBúsquedas en Desarrollo SostenibleInformación Técnica

Introducción
Estructura de la Base de Datos
Sistema Utilizado
Programas Requeridos
Instalación del motor de swish
Instalación de la interface wwwwais
. Modificaciones al paquete original
. Proceso de indexado
Ventajas
Desventajas
Recomendaciones

Introducción

En este caso el sistema de búsqueda, adaptado para los documentos de Desarrollo Sostenible, sigue los parámetros de configuración e implementación de otras bases consideradas en esta investigación, esto es: un motor encargado de la indexación de los documentos en su formato original (HTML) y una interface de consulta a través de un formulario Web. 

El motor seleccionado para esta ocasión es Swish versión 1.1 y la interface de consulta es un pequeño programa en ANSI C llamado wwwwais, que puede utilizarse tanto en índices generados con Swish como también en aquellos generados con Wais.

Estos dos paquetes hacen, conjuntamente, una buena solución para sitios con poco volumen de información y que requieren de una actualización permanente. Por su flexibilidad, rapidez y poco consumo de los recursos del sistema  a la hora de armar nuevos índices y resolver búsquedas, es ideal para con una máquina con escasos recursos de instalación de hardware.

Estructura de la base de datos

Campo

Longitud

Tema 59
Autor 24
Título 250
Editor o Entidad 46
Fecha 10
Número de Copias 10

Sistema utilizado.

Motor de búsqueda

Como herramienta de indexado se utilizó swish versión 1.1, se compiló para un ambiente Linux a partir de las fuentes obtenidas. El software puede puede conseguirse directamente en la página original de swish, o si lo desea tenemos una copia del instalador en nuestro servidor FTP.

Interface de Web

La interface de búsqueda se desarrollo a partir del paquete wwwwais, también puede obtener una copia del paquete completo desde nuestro servidor FTP seleccionando este enlace.

Programas requeridos

Adicionalmente a los programas mencionados (Swish y Wwwwais) para la instalación del paquete se requiere de un compilador C (utilizamos el compilador C de gnu obtenido en http://www.gnu.org/) y un servidor Web (http://www.apache.org/).
Visual Foxpro®, Foxpro® o Dbaseiii Plus® para ejecutar el programa ds.prg, el cual hace la conversión de los registros de la base de datos a páginas de formato HTML

Instalación del motor swish

Luego de obtenido el paquete de http://www.eit.com/software/swish/ se descomprimió en un directorio temporal para su instalación y, dentro del directorio principal generado, realizamos una compilación sin modificar ninguno de los datos que traía el paquete por defecto. Swish está escrito en un C muy genérico y no requiere de adaptación alguna. Este paquete fue probado en: SunOS 4.1.3, Solaris 2.4,  BSDI 1.1, IRIX 5.3/4, OSF/1 2.0, SunOS 4.1.1, FreeBSD 2.0, NetBSD 1.0, Linux, OSF/1 3.0B y AIX 3.2.5, sin problemas.

Desde el directorio principal de Swish simplemente corrimos un 'make' generando un binario 'swish'. Este binario y el archivo swish.conf lo instalamos en el directorio /usr/local/swish. Aquí también se almacenaron los índices y los archivos necesarios para la configuración de este programa y de wwwwais.

Instalación de la interface wwwwais

El paquete wwwwais fue obtenido originalmente de http://www.eit.com/software/wwwwais/ puede encontrarse con algún inconveniente al acceder a este URL pero recuerde que puede obtener una copia directamente desde nuestro servidor.

La compilación de este programa se realizó fácilmente haciendo:

        $ gcc wwwwais_25.c -o wwwwais

Esto genera un binario wwwwais que debe ser instalado en el directorio de ejecución de scripts (/cgi-bin/) del servidor http. Previo a su compilación se realizaron algunas modificaciones importantes al programa   wwwwais.c en cuanto a la ubicación de los archivos de configuración. También se modificó el código para que presentaran los mensajes en español. Puede obtener nuestra copia modificada seleccionando este enlace.

El archivo de configuración wwwwais.conf fue instalado junto con los otros programas y archivos de configuración, en el directorio /usr/local/swish.

Modificaciones al paquete original

Se realizaron modificaciones en los archivos de configuración de wwwwais (wwwwais.conf) y swish (swish.conf). Los cambios mas importantes son los siguientes:

wwwwais.conf

PageTitle "/usr/local/swish/titulo.html"
Esta página que se indica aquí contendrá el encabezado que aparecerá antes que el formulario de búsqueda. Se pueden colocar aquí los logos del sistema, algún mensaje adicional, etc.

SelfURL "http://bases.colnodo.org.co/cgi-bin/wwwwais"
Variable que apunta al lugar, en nuestro servidor, donde fue instalado el binario wwwwais.

SwishBin /usr/local/swish/swish
Lugar del sistema donde fue instalado el binario 'swish'

SwishSource /usr/local/swish/index.swish "Colnodo - Base de datos Desarrollo Sostenible"
SourceRules replace "/usr/local/swish/" "http://bases.colnodo.org.co/"
Variables necesarias a fin de 'traducir' las rutas o path absolutos de la ubicación de las páginas, a direcciones relativas accesibles desde páginas Web.

Se puede encontrar una versión de este archivo de configuración completo en la distribución original del programa.

swish.conf

IndexDir /usr/local/www
Este es el directorio absoluto dentro de nuestro servidor donde se ubican las paginas a indexar.

IndexFile /usr/local/swish/index.swish
Nombre del archivo de índices generado y donde se realizan las búsquedas.

FollowSymLinks no
Indica si se siguen o no los enlaces a otras páginas y también se incluirán éstas en los índices generados.

ReplaceRules replace "/usr/local/swish" "http://bases.colnodo.org.co"
Al igual que la variable anterior se refiere a ubicación de directorios a URL

Se puede encontrar un versión de este archivo completo en la distribución original del programa.

wwwwais.c

Como ya mencionamos, es posible bajar de nuestro servidor una versión modificada de este programa, pero si no desea modificar nada del software original, el único dato que necesita cambiar al fuente wwwwais.c es:

#define CONFFILE "/usr/local/swish/wwwwais.conf"

que corresponde a la ubicación física del archivo de configuración dentro del sistema.

Proceso de indexado

El proceso de armado de los índices es muy sencillo. Simplemente se debe ejecutar el binario 'swish' dando como parámetro el archivo de configuración que se va a utilizar en el proceso. Aquí creamos un pequeño script que facilita el proceso de indexación pensando en incluirlo como una tarea de administración rutinaria dentro del archivo de 'cron' del sistema.

--------------------------
#!/bin/sh
#
base="/usr/local/swish"
cd $base
./swish -c swish.conf
--------------------------

Ventajas

Es muy simple de utilizar y configurar
Fue diseñado pensando en un ambiente de trabajo Web. Ofrece mayor relevancia a los documentos que contengan las claves buscadas en los tags de <title> o en los headers de las páginas.
Consume muy poco espacio en disco y es muy rápido a la hora de armar los índices. Comparando los tamaños generados en el archivo final de índices este resulta un 50% menor a uno de iguales características generado por WAIS y entre el 1% y 5% del tamaño original ocupado por las paginas HTML de donde extrajo la información.

Desventajas

No posee la ductilidad y prestaciones, en cuanto a posibilidades de búsqueda, de otros motores como pueden ser WAIS o Glimpse.
No es recomendable para grandes volúmenes de información donde la generación del índice puede resultar dificultosa y a veces no se alcanza la finalización del proceso de indexado cancelando el programa y dejando los índices en malas condiciones. Es recomendable un tamaño máximo de índices de aproximadamente 2Mb.


Recomendaciones

Se debe tener especial cuidado al modificar el fuente wwwwais.c. No todos los comentarios que aparecen entre comillas refieren a mensajes que se despliegan en pantalla, esto quiere decir que no todos debemos traducirlos para obtener un programa totalmente en castellano. Algunos de estos mensajes corresponden a strings que envía el motor swish cuando realiza la búsqueda y si los traducimos al español wwwwais no encontrará correspondencia en estos mensajes y dejará de funcionar. Sugerimos que no modifique el programa wwwwais.c o si lo necesita puede obtener nuestra copia en el enlace que se menciona más arriba.

Aquí puede encontrar documentación en línea de Swish y Wwwwais con información completa del funcionamiento y las posibilidades de este sistema.

No encontró la información que buscaba?, tiene comentarios?, contáctenos!