Esta semana hemos estrenado en Salamancalia (uno de los portales creados por WebProgramación que contiene información sobre Salamanca y provincia) un nuevo motor de búsqueda a través de un índice.
En este pequeño artículo voy a destacar la importancia de las búsquedas en un portal donde hay un gran número de información. Muchas veces hablo de accesibilidad para que cualquier persona, independientemente de si tiene discapacidad o no, debe poder acceder a la información. Ahora voy a hablar un poco más de usabilidad, ya que si un motor de búsqueda no busca bien, o es demasiado lento, eso va a producir que tampoco podamos llegar a la información.
Dónde buscar
Cuando manejamos un gran volumen de información en varias tablas, no podemos (no debemos) buscar en todas ellas cada vez que un usuario realiza una consulta ya que tardará demasiado y producirá sobrecarga en el servidor. La solución es crear índices. Recientemente hemos creado una tabla índice que contiene la información relevante de la estructura de tablas de Salamancalia, y cada vez que hacemos una búsqueda, dicha búsqueda se realiza sobre ese índice (en lugar de toda la estructura), reduciendo el tiempo de búsqueda a 1 ó 2 segundos por consulta (anteriormente había consultas que tardaban más de 10 segundos en devolver resultados).
Sincronización del índice
Ahora cuando usamos un índice, es muy importante que ese índice esté sincronizado con las tablas donde está la información real, ya que sino de poco nos seriviría. En el caso que hemos implementado en Salamancalia, cada vez que se modifica un registro se modifica el índice para que los datos sean coherentes.
Rapidez
Desde un punto de vista de posicionamiento hay que destacar que la rapidez con la que cargan las páginas web también es un factor importante, con lo que aunque en este caso ha sido un motivo de usabilidad, también conseguimos una mejora en ese sentido.