Funcionamiento de la búsqueda
Las variables de invocación son las siguientes:
Nombre |
Ejemplo |
Descripción |
---|---|---|
search_prontus |
prontus_noticias |
Nombre del directorio Prontus donde residen los índices. |
search_comodines |
yes |
'yes' o 'no'. Si es 'yes', permite la búsqueda usando los comodines * y ?. La búsqueda con comodines utiliza muchos más recursos que la búsqueda sin ellos, por lo que esta modalidad no es recomendable para sitios expuestos a muchas visitas. Valor por defecto: 'no'. |
search_idx |
prontus3_videos |
Indice donde buscar. Puede ser 'ALL', en cuyo caso se busca en todos. Si no se especifica, busca en el índice correspondiente a search_prontus. |
search_tmp |
search_simple.html |
Nombre de la plantilla de búsqueda. Si no se especifica, se usa search.html Las plantillas se toman de /< search_prontus >/plantillas/extra/search/pags |
search_resxpag |
10 |
Resultados por página, con un máximo correspondiente al parámetro RESPERPAG archivo de configuración. Si la variable search_resxpag no se especifica, se asume el valor del parámetro RESPERPAG archivo de configuración. Si el parámetro RESPERPAG no existe en el archivo de configuración, se usa el valor 50. |
search_maxpags |
20 |
Resultados por página, con un máximo correspondiente al parámetro MAXPAGS archivo de configuración. Si la variable search_maxpags no se especifica, se asume el valor del parámetro MAXPAGS archivo de configuración. Si el parámetro MAXPAGS no existe en el archivo de configuración, se usa el valor 20. |
search_texto |
flores -fernando |
Texto a buscar. Este texto es validado y convertido en un conjunto de palabras. Si están habilitados (search_comodines = yes), pueden usarse los comodines * y ?. Un signo menos (-) ante una palabra excluirá los resultados que la contengan. Puede buscarse por todas las palabras o por sólo algunas de ellas, dependiendo de la variable search_modo. |
search_pag |
5 |
Página a mostrar. Si no se especifica, se muestra la primera página. |
search_orden |
CRO |
Orden de los resultados (CRO para cronológico o REL para relevancia). Si no se especifica, se ordena cronológico. |
search_form |
yes |
Mostrar formulario ('yes' o 'no'). Valor por defecto: 'yes'. |
search_modo |
AND |
Hacer AND u OR con las palabras ingresadas (por defecto hace OR). |
search_seccion |
Noticias |
Nombre de la sección a mostrar. Si no se especifica, se muestran todas. |
search_tema |
Santiago |
Nombre del tema a mostrar. Si no se especifica, se muestran todos. |
search_subtema |
Salud |
Nombre del subtema a mostrar. Si no se especifica, se muestran todos. |
search_fechaini |
01/01/05 |
Fecha de inicio. Si no se especifica, no se filtra por fecha. Se aceptan separadores / y -. |
search_fechafin |
01/06/05 |
Fecha de término. Si no se especifica, no se filtra por fecha. Se aceptan separadores / y -. |
search_meta1 |
imagen |
Variable META1, definida en el archivo de configuración. |
search_meta2 |
calle |
Variable META2, definida en el archivo de configuración. (Muestra sólo resultados cuya variable META2 corresponde al valor pasado en la invocación) |
search_meta3 |
zoo |
Variable META3, definida en el archivo de configuración. (Muestra sólo resultados cuya variable META2 corresponde al valor pasado en la invocación) |
El Buscador Prontus puede ser utilizado con un mínimo de variables de invocación, con todas ellas o con un conjunto escogido de acuerdo a las características del sitio web. El resto puede no especificarse para utilizar los valores por defecto u ocultarse de la vista del usuario haciendo uso de variables ocultas (campos hidden).
Además, el Buscador Prontus puede ser utilizado con o sin formulario incluido en los resultados, lo cual otorga una gran libertad a la hora de diagramar la mecánica de funcionamiento.
-
Invocación mínima
En caso de poseer el formulario inserto dentro de la plantilla de resultados, basta con invocar:
/cgi-bin/prontus_search.cgi?search_prontus=< instancia de prontus >
por ejemplo:
/cgi-bin/prontus_search.cgi?search_prontus=prontus_noticias
para que se despliegue la plantilla por defecto mostrando sólo el formulario de búsqueda.
-
Invocación mínima con cambio de plantilla
Si se desea especificar la plantilla a mostrar, entonces la invocación cambia a:
/cgi-bin/prontus_search.cgi?search_prontus=< instancia de prontus >?search_tmp=< plantilla >
La plantilla del buscador contiene básicamente tres áreas:
-
Área del formulario
-
Área del resultado
-
Área de Parámetros
El área del formulario puede ser eliminada (por ejemplo, cuando el buscador consiste en una caja de texto ubicada en otro frame).
Área del Formulario
Dentro del formulario deben disponerse las variables de invocación que serán utilizadas en una búsqueda.
Si el formulario será desplegado dentro de los resultados, entonces hay que poner atención a la conservación de las elecciones hechas en base a radio-buttons o a combo-boxes.
Las marcas a utilizar dentro de esta área son las siguientes:
Marca |
Descripción |
---|---|
< !--formulario-- > ... < !--/formulario-- > |
Delimitador del formulario de búsqueda. Esta parte de la plantilla es omitida si el buscador se invoca con el parámetro search_form=no. Es conveniente que siempre exista, ya que así se pueden hacer pruebas mediante invocación mínima. |
%%nombre_variable%% |
Muestra el valor de la variable de ese nombre. Puede utilizarse cualquier variable de invocación. Ejemplo: %%search_texto%% |
%%chk_< nombre_variable >_< contenido >%% |
Esta marca es reemplazada por la palabra "checked" si la variable de nombre nombre_variable posee el valor indicado en "contenido". Esto es utilizado en variables puestas en checkbox o radio buttons. Ejemplo: %%chk_search_mode_or%% |
%%sel_< nombre_variable >_< contenido >%% |
Esta marca es reemplazada por la palabra "selected" si la variable de nombre nombre_variable posee el valor indicado en "contenido". Esto es utilizado en variables puestas en combo boxes. Ejemplo: %%sel_search_idx_raw%% |
Área del Resultado
En el área del resultado aparece el mensaje de resultado de la operación (%%msg%%), la lista de archivos encontrados y links a otras páginas si la cantidad de resultados excede el máximo por página.
Las marcas a utilizar dentro de esta área son las siguientes:
Marca |
Descripción |
---|---|
%%msg%% |
Mensaje de contexto. P. ej. "50 resultados en orden de importancia." o "No hay resultados.". |
< !--resloop-- > ... < !--/resloop-- > |
Estas marcas delimitan el trozo de HTML que se repite para cada respuesta. Dentro de este HTML funcionan las marcas que se describen a continuación. |
%%ext%% |
Extensión del archivo encontrado. Sirve para integrar íconos o elementos que identifiquen el formato del contenido. |
%%num%% |
Numero ordinal del artículo (archivo) encontrado. |
%%rel%% |
% de relevancia relativa (0 al 100). |
%%lnk%% |
URL del artículo. |
%%tit%% |
Titular del artículo. |
%%fec%% |
Fecha de publicación del articulo. |
%%res%% |
Resumen (primeras palabras) del artículo. |
%%sec%% |
Sección del artículo. |
%%tem%% |
Tema del artículo. |
%%sub%% |
Subtema del artículo. |
%%meta1%% |
Contenido del campo meta1 |
%%meta2%% |
Contenido del campo meta2 |
%%meta3%% |
Contenido del campo meta3 |
%%metadata< i >%% |
Contenido del campo metadadai, con i = 1..10. Estos campos sólo sirven para mostrar valores. No es posible buscar por ellos. |
%%if(< var >)%% ... %%/if%% |
Contenido condicionado a la existencia de la variable < var > (válido para fec, sec, tem, meta1, meta2, meta3 y metadata< i >). |
< !--pags-- > ... < !--/pags-- > |
Delimitador de los links a las distintas páginas de resultados. Si la cantidad de resultados es menor que search_resxpag, esta parte de la plantilla es omitida. |
%%pags%% |
Links hacia otras páginas de resultados. |
%%search_total%% |
Muestra el total de resultados encontrados para la búsqueda. Disponible desde la release 11.2.71. |
%%_prontus_id%% |
Permite diferenciar los resultados por Prontus, en caso de que el buscador esté indexando más de un Prontus. Disponible desde la release 11.2.71. |
Área de Parámetros
El Área de Parámetros permite personalizar los mensajes que entregará el buscador a los usuarios y las palabras que deben ser omitidas de los resultados.
Los parámetros se incluyen mediante comentarios HTML de la forma:
< !-- parametro = valor(es) -- >
Los parámetros reconocidos son los siguientes:
Parámetro |
Descripción |
---|---|
STOPWORDS |
Palabras a omitir de los resultados, separadas por comas. Ejemplo: < !-- STOPWORDS = to,the,an,in,of -- > |
MSG server_busy |
Mensaje que será entregado cuando se alcance el máximo de instancias de búsqueda activas. Ejemplo: < !-- MSG server_busy = The server is currently busy. Please try again later ... -- > |
MSG no_results |
Mensaje que será entregado cuando no se encuentren resultados. Ejemplo: < !-- MSG no_results = No pages containing your search terms were found. -- > |
MSG order_cron |
Mensaje que será entregado cuando los resultados se ordenen cronológicamente. Ejemplo: < !-- MSG order_cron = by date. -- > |
MSG order_rel |
Mensaje que será entregado cuando los resultados se ordenen por relevancia Ejemplo: < !-- MSG order_rel = by relevance. -- > |
MSG results |
Mensaje correspondiente a la palabra "resultados". Ejemplo: < !-- MSG results = Results -- > |
MSG to |
Mensaje correspondiente a la palabra "al". Ejemplo: < !-- MSG to = to -- > |
MSG of |
Mensaje correspondiente a la palabra "de". Ejemplo: < !-- MSG of = of -- > |
Los valores por defecto son los siguientes:
< !-- STOPWORDS = de,el,la,los,las,del,en -- >
< !-- MSG server_busy = Servidor ocupado. Intente más tarde ... -- >
< !-- MSG no_results = No se encontraron resultados. -- >
< !-- MSG order_cron = en orden cronológico. -- >
< !-- MSG order_rel = en orden de importancia. -- >
< !-- MSG results = Resultados -- >
< !-- MSG to = al -- >
< !-- MSG of = de -- >
-
Ejemplo de plantilla de búsqueda
Un ejemplo muy simple (mínimo) de plantilla de búsqueda se muestra a continuación:
< html >
< head >
< title >Buscador Prontus< /title >
< !-- STOPWORDS = de,el,la,los,las,del,en -- >
< !-- MSG server_busy = Servidor ocupado. Intente más tarde ... -- >
< !-- MSG no_results = No se encontraron resultados. -- >
< !-- MSG order_cron = en orden cronológico. -- >
< !-- MSG order_rel = en orden de importancia. -- >
< !-- MSG results = Resultados -- >
< !-- MSG to = al -- >
< !-- MSG of = de -- >
< /head >
< body >
< p >< b >Buscador Prontus< /b >< /p >
< !--formulario-- >
< form name="buscar" method="POST" action="/cgi-bin/prontus_search.cgi" >
< input type="hidden" name="search_prontus" value="prontus_senado" >
< input type="hidden" name="search_tmp" value="search_simple.html" >
< input type="hidden" name="search_idx" value="prontus_senado" >
< input type="hidden" name="search_modo" value="and" >
< input type="hidden" name="search_orden" value="rel" >
< input type="hidden" name="search_resxpag" value="10" >
< input type="hidden" name="search_maxpags" value="20" >
< input type="hidden" name="search_form" value="yes" >
< table border="0" bgcolor="#e0e0e0" width="600" >
< tr >< td >< p >< b >Buscar Por:< /b >< /p >< /td >< td >< input type="text" name="search_texto" size="30" value="%%search_texto%%" >
< input type="submit" name="Buscar" value="Buscar" >< /td >< /tr >
< /table >
< /form >
< !--/formulario-- >
< !--separador-- >
< div style="width:600px;" >%%msg%%< /div >
< div >
< !--resloop-- >
< table width="596" border="0" cellpadding="0" cellspacing="0" >
< tr >
< td width="20" >< /td >
< td width="30" >< /td >
< td >< span >%%if(sec)%% %%sec%% %%/if%% %%if(tem)%% > %%tem%% %%/if%% %%if(sub)%% > %%sub%% %%/if%%< /span >< /td >
< td align="right" valign="bottom" >%%if(fec)%%< span >%%fec%%< /span >%%/if%%< /td >
< /tr >
< tr >
< td >< span >%%num%%.< /span >< /td >
< td valign="center" >
< div style="width:28px; height:5px;" >< div style="width:%%rel%%%; height:5px;" >.< /div >< /div >
< /td >
< td colspan="2" >< a href="%%lnk%%" target="_blank" >< span >%%tit%% [%%ext%%]< /span >< /a >< /td >
< /tr >
< tr >
< td >< /td >
< td >< /td >
< td colspan="2" >< span >%%res%%...< /span >< /td >
< /tr >
< /table >
< !--/resloop-- >
< /div >
< !--pags-- >
< div style="width:600px;" >Vea más en: %%pags%%< /div >
< !--/pags-- >
< /body >
< /html >
A través del parámetro de configuración SEARCH_MAXEXEC puede limitarse el número de copias o instancias de Prontus Search que pueden estar ejecutándose simultáneamente.
De esta manera, se evita que la estabilidad del servidor pueda verse comprometida por un exceso de interés en el buscador o por ataques de denegación de servicio.
Este parámetro funciona sólo para la versión Unix de Prontus.