Hoy toca artículo invitado que inicia una serie más que interesante de cómo se realiza la búsqueda en KDE. Y para ello tengo como autor del mismo al gran Ignacio Serantes, informático con amplia experiencia en el mundo de la programación a muchos niveles y un usuario de Software Libre activo y colaborador, como es el caso del grupo de Telegram Cañas Y Bravas. Bienvenido de nuevo al blog y gracias por participar.
La búsqueda en KDE I: un poco de historia
Con esta entrada empezamos una serie monográfica dedicada a las búsquedas en el escritorio KDE, o lo que es lo mismo, el subsistema conocido como Baloo. A lo largo de la serie haremos un poco de historia, revisaremos su arquitectura, entenderemos como funciona y, lo más importante, veremos qué puede aportar a nuestro día a día.
Para el que no sepa de que estoy hablando, la búsqueda en el escritorio es esa parte del mismo que está ahí para ser odiada por algunos por su lentitud y consumo de recursos, despreciada por otros que lo primero que hacen es desactivarla, ignorada por muchos que no saben de su existencia y aprovechada por unos pocos.
Bien es cierto que las búsquedas en el escritorio en KDE han tenido etapas oscuras, pero a día de hoy, en su última iteración en el Framework 5.88.0, funciona bastante bien en muchos escenarios, regular en algunos casos y mal en contadas circunstancias. En futuros artículos estudiaremos en profundidad Baloo, sin olvidarnos de sus aspectos por limar, pero antes de ello repasaremos cual es su origen.
La necesidad de sistemas de búsqueda
El origen de los sistemas de búsqueda está en esa necesidad de encontrar ficheros en nuestro sistema de almacenamiento. La mayor parte de las veces la organización jerárquica que usan nos lo pone fácil y, moviéndonos un poco por ella, localizamos lo que buscamos. Pero de vez en cuando esa búsqueda resulta infructuosa y no queda más remedio que acudir a herramientas que nos ayuden.
Las herramientas más antiguas las encontramos en la consola y tienen nombres como find, grep, mdfind, locate, etc. En muchos casos su uso resuelve la búsqueda en unos minutos siguiendo una metodología simple: recorrer la estructura jerárquica del sistema de almacenamiento indicado, localizar los ficheros existentes y verificar si su nombre y/o contenido coinciden con el patrón de búsqueda que se ha definido.
Esto ocurre cada vez que se usan, normalmente no hay cachés de ningún tipo excepto la que ofrece el propio sistema, con lo que su uso habitual significa un alto consumo de recursos de CPU y disco. En resumen, estas herramientas son ideales para un uso puntual pero no son la mejor alternativa para un uso frecuente y para obtener resultados instantáneos.
Buscadores de escritorio
Si en vez de trabajar con la consola usas un escritorio, aparte de las herramientas ya descritas, tienes otras alternativas más o menos sofisticadas. Windows dispone en la actualidad de Windows Search tras varios proyectos anteriores y, en MacOS, se empezó con la herramienta de consola mdfind y se acabó con el moderno Spotligh que ahora mismo es ubicuo en toda la plataforma de Apple.
En Linux, con su habitual fragmentación, hemos tenido varias herramientas a lo largo del tiempo con orígenes y calidades diversas y nada que se pueda calificar de oficial.
Por norma, hay dos funcionalidades importantes que diferencian a una herramienta de búsqueda de consola de una de escritorio.
La primera funcionalidad son los indexadores y la segunda un sistema de almacenamiento de datos. Los indexadores son unos pequeños programas que analizan los distintos tipos de ficheros y extraen de ellos sólo la información que pueda ser útil en una búsqueda. El almacenamiento de datos funciona como un repositorio en el que se almacena la información extraída por los indexadores.
La unión de estas dos funcionalidades supone una gran ventaja, sobre todo con ciertos tipos de ficheros grandes, en forma de ahorro de recursos y búsquedas prácticamente instantáneas o que tardan unos pocos segundos.
Esto se aprecia muy bien con archivos multimedia en los que únicamente una pequeñísima parte del contenido, los metadatos, es relevante en una búsqueda textual. Como sucede en muchos casos, el uso de estos dos mecanismos no es una panacea e incorpora varios problemas de los que hablaremos en artículos posteriores.
Google Desktop, fue el primer buscador de escritorio que use y no guardo mal recuerdo de él, sobre todo por los widgets bastante chulos que incorporaba. Nació en el año 2004 y su última versión fue en el 2011.
Y hasta aquí la historia de los buscadores en general, en el segundo capítulo hablaremos ya a fondo de su evolución en KDE.