2006/11/24

¿Buscas código con GREP?

A la hora de clasificar los buscadores, un criterio, como cualquier otro, podría ser la base documental que manejan. Es decir, búsquedas en toda la procelosa internet (Google, Yahoo!), frente a búsquedas contra un entorno acotado.

Para este segundo caso no basta sólo con potentes máquinas indexando contenido; es imprescindible un buen conocimiento del entorno si queremos que el sistema devuelva resultados relevantes. Hay que hilar un poco más fino y crear una estructura competente para los datos y documentos, que refleje las relaciones reales que existen. En un ordenador, por ejemplo, hay mucha más información contenida en un documento guardado en C:\Documentos\Informes\Contabilidad\2006 que si lo tuviéramos desperdigado en el Escritorio.

Por el momento, los buscadores no son capaces de resolver esta organización por sí solos. Por eso es tan necesario saber en qué consiste el contenido; hace falta un experto en contabilidad, para organizar los documentos con un sentido “contable” y útil en lugar de alfabéticamente, ya que no aporta a dotar de más significado a los datos.

En este sentido, os presentamos el buscador KRUGLE. Es un proyecto libre dirigido a algo tan específico como la búsqueda de código fuente de proyectos libres (KDE, OpenOffice, GCC). Es una muestra de cómo el conocimiento del medio encauza el proyecto hacia una mayor eficacia.

La búsqueda se realiza con palabras clave y se organiza en un primer nivel por lenguajes de programación (más de 30 donde buscar) y en un segundo nivel por áreas (definición de clases, llamadas a funciones, comentarios).

Ofrece, además, opciones muy interesantes: se pueden añadir metacomentarios a las porciones de código (sólo para usuarios registrados), que quedan discretamente junto al código en cuestión y que mejoran el resultado (un poco al estilo wiki) para el siguiente usuario.

Ellos dicen en su página: “we’re creating the world’s ultimate search engine for developers”. El proyecto es bueno, desde luego, pero internet es una cruel amante.
No podemos pensar que estas soluciones son aplicables a cualquier ámbito; son realmente útiles a la hora de rastrear lenguaje artificial, unívoco, monosémico y sin ambigüedades, como son (deberían) los lenguajes de programación; aunque no sirven para la búsqueda en Internet, donde se usa lenguaje natural, con una complejidad muy distinta y mucho más profunda.