Buscador Multivista

Prontus permite la creación de artículos multi-lenguaje. Sin embargo, la búsqueda de dichos artículos en dicho idioma no es trivial.

La búsqueda de artículos en Prontus utiliza un sistema de indexación que incrementalmente agrega los últimos artículos a una base de datos, la cual es accedida por el buscador. Para más información al respecto, se recomienda ver la referencia del buscador.

Por defecto el buscador sólo funciona con el idioma nativo, y para permitir la búsqueda en múltiples idiomas, se debe crear un Prontus "dummy" que sólo realice búsquedas.

Ejemplo

A modo de ejemplo, se trabajará con dos Prontus:
- /prontus_test: La instancia principal
- /search_english: El Prontus "dummy", que realiza la búsqueda en inglés, aunque se puede cambiar por otro idioma.

Supondremos que ambas instancias Prontus están en la carpeta /var/www/proyecto_test.

Creación del Prontus Dummy

Para crear el nuevo Prontus se puede utilizar el Wizard de Prontus, creando un proyecto vacío. Respecto a su contenido, sólo se usará el buscador. Lo importante del proceso es el indexador de contenido para su búsqueda.

Configuración del Prontus Indexer

Una vez creado el Prontus Dummy se debe configurar para que indexe los artículos en el nuevo idioma, en la base de datos principal. Se debe modificar el archivo "search_english/cpan/buscador_prontus.cfg" con los siguientes parámetros.

# Directorios Prontus a Indexar (i = 1, 2, 3,...) aparte del directorio de este Prontus.
PRONTUS_DIR_1 = /prontus_test #Directorio del Prontus principal

# Tipos de FID que seran consideradas validos para ser indexados.
FIDS = fid_noticia.html fid_general.html ... #Todos los fids que deben ser indexados por el sistema separadas por un espacio

# Variable Prontus que sera considerada el titular.
TITLEVAR = txt_titular_en

# Variables Prontus sobre las que se buscara.
TEXTVARS = bajada_en VTXT_CUERPO_en

Forzamiento de la Indexación

Ahora se debe forzar la indexación en el Prontus "dummy". Esto se puede hacer de dos maneras:

1. Usando el CPAN

Se debe ingresar al CPAN del Prontus "dummy" con los datos por defecto. Dentro, se debe ingresar a "Administración->Buscador" y presionar el botón "Ejecutar el Proceso". Esto forzará el proceso de indexación en "search_english". Para verificar que el proceso se realizó bien, en la sección "Administración->Base de Datos->Listar Tablas" debe listar tablas creadas y número de registros en cada una. Si no aparecen datos en el dump es porque la indexación no fue correcta.

2. Por consola

Para forzar el proceso de indexación se debe ingresar a la máquina donde se encuentran los Prontus y ejecutar con el usuario "www-data" el siguiente comando

www-data@lab:# /usr/bin/nice /usr/bin/perl /var/www/proyecto-test/cgi-cpn/prontus_indexer.cgi /var/www/proyecto-test/search_english 7777

Para probar que el método funcionó puede revisar la base de datos y verificar que las tablas y registros existen.

Uso del Buscador en el Nuevo Idioma

Para utilizar el nuevo buscador, debe configurar las opciones de búsqueda en el formulario de búsqueda. Respecto a las variables de búsqueda, debe poner énfasis en las siguientes variables:

<input type="hidden" name="search_prontus" value="search_english" >
<input type="hidden" name="search_tmp" value="search.html" >
<input type="hidden" name="search_idx" value="prontus_test" />

Más información respecto a las variables de búsqueda, revisar la sección Funcionamiento de la Búsqueda del manual.