El Buscador del WikiUV
El Wikiuv de la Universitat de València

Índice

    - El buscador del WikiUV
    - Cómo añadir un buscador a tu espacio
    - Cuidado
    - Expresiones lógicas
        - Expresiones "+ -"
        - Expresiones lógicas
            - Expresiones lógicas prohibidas
    - Indexado
        - Control del indexado
    - Variables
        - FIELDLEN
        - SCANTYPE
        - RESCANSECONDS
        - SEARCHBASE
        - SEARCHQUERY

El buscador del WikiUV

El WikiUV te permite añadir a cualquiera de tus espacios un buscador. Esto permite localizar fácilmente tus páginas simplemente indicando algunas palabras "clave" a buscar.

El buscador del WikiUV puede buscar palabras en ficheros de tipo ".txt", ".htm", ".html" y ".pdf".

Si lo deseas, puedes limitar las búsquedas a una carpeta de cualquiera de tus espacios.

Si tienes un espacio WikiUV multilingüe el buscador puede generar un índice distinto para cada lengua (si pones lo pones en la página inicial de cada una de las lenguas) o puede generar un índice común para todas las lenguas (si lo pones en una página situada en la raíz de tu espacio WikiUV).

Cómo añadir un buscador a tu espacio

El formulario de búsqueda se insertará en donde pongas: ###SEARCHFORM###. Por ejemplo si pones:

  Dime lo que quieres buscar: ###SEARCHFORM###
  

Inmediatamente aparecerá:

  • Dime lo que quieres buscar:
    (einstein o newton) y no Bell   /   einstein +newton -bell

Este es el aspecto del buscador del WikiUV.

Cuando insertes este formulario en una página wiki dentro de tu espacio wiki, el buscador generará automáticamente los índices la primera vez que lo uses (¡atención! puede tardar minutos, pero sólo es la primera vez) y luego la búsqueda se realizará dentro de la carpeta en la que se halle la página y todas sus subcarpetas . El wiki creará automáticamente un índice de todos los ficheros .wiki, .txt, .pdf , .htm, .html que se encuentren dentro de estas carpetas.

También es posible decirle al buscador que busque dentro de cualquier carpeta de tu espacio, no sólo dentro de la carpeta en la que está definido (ver variable SEARCHBASE).

Cuidado

Recuerda que el buscador indexa TODOS los ficheros que encuentra, no sólo los que has apuntado en tus páginas. Es decir, no dejes nada privado en las carpetas recorridas por el buscador.

El buscador ignora toda carpeta llamada NOSEUSA. Esto permite "apartar" páginas obsoletas que no quieres que encuetre y no quieres borrar.

Expresiones lógicas

El buscador del WikiUV te permite buscar desde una simple palabra a expresiones lógicas formadas por combinaciones de palabras.

Nota: el buscador ignora las palabras de dos o menos letras.

El buscador soporta dos tipos de expresiones: expresiones "+ -" y expresiones lógicas completas.

Expresiones "+ -"

Una expresión "+ -" está formada por una serie de palabras, precedidas o no por "+" o "-".

El "+" indica que se deben mostrar todas las páginas que tengan esta palabra, aunque las otras palabras no estén. El "-" indica que la palabra NO DEBE estar en las páginas encontradas.

Al contrario que el buscador de Google, una palabra que no está precedida por "+" o "-" DEBE estar en todas las páginas encontradas (sin contra las páginas añadidas por palabras con "+").

Ejemplo:

  redireccion correo

busca todas las páginas en las que estén AMBAS palabras "redirección" y "correo".

  redireccion +correo -filtros

busca todas las páginas en las que estén las palabras "redirección" o "correo", pero que NO contengan la palabra "filtros".

Expresiones lógicas

Las expresiones lógicas permiten realizar búsquedas arbitrariamente complicadas.

Una expresión lógica consta simplemente de una serie de palabras separadas por "y" u "o" y eventualmente precedidas con "no"; se admiten paréntesis para agrupar subexpresiones.

El buscador entiende también la versión inglesa de los operadores ("and", "or" y "not").

Ejemplo:

(einstein o newton) y no Bell 

busca todas las páginas de tu espacio que tengan la palabra "einstein" o "newton" pero no tengan la palabra "Bell".

Expresiones lógicas prohibidas

Determinadas expresiones lógicas permiten trivialmente definir búsquedas que devuelven todas las páginas indexadas. Ejemplo sería "not baba" o "correo and not baba" si la palabra "baba" no existe en el corpus indexado. El buscador del WikUV limita estas búsquedas y devuelve error "Solitary not" e "Infinite not" respectivamente.

Indexado

El buscador del WikiUV genera automáticamente los índices directos e inversos necesarios para agilizar al máximo las búsquedas. El proceso de generación de índices es muy costoso pero el WikiUV ha sido optimizado al máximo para agilizarlo. En las pruebas ha tardado menos de un minuto en indexar 2300 ficheros (unos 65 MB de texto).

El indexador del WikiUV es incremental. Sólo necesita indexar los ficheros una vez; luego, el buscador barre periódicamente (cada 24 horas) todas las carpetas en las que busca para detectar cambios y, si los encuentra, modifica correspondientemente el índice.

El editor del espacio wiki puede forzar en todo momento un (re)indexado incremental o total.

Si han pasado 24h desde el último barrido incremental, toda nueva búsqueda lanzará un nuevo barrido incremental. El barrido incremental es muchísmo más rápido que el total, por lo que el usuario apenas lo apreciará (¡pero algo se nota!).

Por defecto el periódo de barrido es de 24 horas, aunque el editor del wiki puede cambiarlo usando la variable RESCANSECONDS.

El buscardor, una vez al año borrará el índice y reindexará todos los ficheros. El reindexado se lanzará una vez pasado un año desde el anterior indexado total.

Control del indexado

Definiendo la variable "SEARCHQUERY" en la página que contiene el formulario de búsqueda puedes forzar al buscador a que borre el índice y reindexe todos los ficheros; o puedes forzarle a que haga un barrido para comprobar si hay ficheros nuevos que indexar (o ficheros que ya no están y fueron indexados previamente) (ver más abajo).

Variables

FIELDLEN

El buscador muestra un campo donde escribir las palabras a buscar. Por defecto el campo tiene 50 caracteres de longitud, pero puedes cambiar dicha longitud definiendo FIELDLEN. Por ejemplo, para que el campo tenga 20 caracteres de longitud basta poner en la cabecera wiki:

  #SET FIELDLEN 20

SCANTYPE

Esta variable sólo se debe utilizar cuando se está cambiando activamente el contenido del espacio, cuando se necesite forzar la actualización inmediata del índice, ya sea reconstruyéndolo totalmente o sólo actualizando los cambios.

Definiendo SCANTYPE se fuerza el indexado de los ficheros sin esperarse al próximo reindexado incremental automático (pasados 10 minutos) o al próximo reindexado total (nunca se hace).

  • MUY IMPORTANTE Acordarse de eliminar esta variable cuando se haya terminado. En caso contrario las búsquedas serán MUY lentas, pues cada vez se actualizará el índice!!.

El indexado se producirá la siguiente vez que se pulse el botón "buscar".

Los valores posibles son:

    • "" (vacío)
      Es el valor por defecto. Reindexar incremental o totalmente según esté predeterminado.
    • full
      Forzar reindexado Total. Esto puede ser muy costoso y tardar varios minutos.
    • incremental
      Forzar reindexado Incremental. Para cuando se ha efectuado algún cambio en el contenido del espacio y no se quiere esperar al siguiente barrido automático.
  #SET SCANTYPE incremental

RESCANSECONDS

En el momento de realizar una búsqueda el buscador comprueba si han pasado más de RESCANSECONDS segundos desde la última comprobación de ficheros; si es así, lanza un nuevo barrido del espacio a indexar para detectar cambios (ficheros borrados o modificados o añadidos) y así actualizar el índice.

El valor por defecto de RESCANSECONDS es de 86400 segundos (un día), pero lo puedes cambiar definiendo un nuevo valor en la cabecera wiki. Para que realize la comprobación pasadas seis horas:

  #SET RESCANSECONDS 21600

CUIDADO: No poner este valor demasiado bajo. El usuario puede notar una ralentización de su búsqueda cada vez que el buscador se dedique a comprobar+reindexar.

Una salvedad: si RESCANSECONDS es '0', NO se reindexa automáticamente nunca.

SEARCHBASE

La variable ###SEARCHBASE### permite especificar el directorio a indexar, cuando sea distinto del que contiene la página en la que está el buscador.

Obviamente, el directorio a indexar debe estar dentro del mismo espacio (web, disco,...).

En SEARCHBASE se pone el nombre(path) relativo al origen del espacio.

Por ejemplo, si en mi espacio tengo una carpeta de lengua "cas" con una carpeta "seri" que es la única que quiero indexar, pondría:

  #SET SEARCHBASE /cas/seri

SEARCHQUERY

La variable ###SEARCHQUERY### debe estar vacia (es decir, valer "") o puede contener lo que se quiere buscar por defecto.

Como cualquier variable, se puede definir en la cabecera usando

  #SET SEARCHQUERY ""
  #SET SEARCHQUERY buscaesto

o en el cuerpo escribiendo en cualquier lugar

###SET SEARCHQUERY buscaesto###

En ambos casos, el valor "buscaesto" aparecerá en el campo del buscador.

tornar