Last Updated on September 6, 2020
This is a weekly blog about the Raspberry Pi 4 (“RPI4”), the latest product in the popular Raspberry Pi range of computers.
Desktop search is a software application which searches the contents of computer files, rather than searching the internet. The purpose of this software is to enable the user to locate information on their computer. Typically, this data includes emails, chat logs, documents, contact lists, graphics files, as well as multimedia files including video and audio.
Searching a hard disk can be painfully slow, especially bearing in mind the large storage capacities of modern hard disks. To ensure considerably better performance, desktop search engines build and maintain an index database. Populating this database is a system intensive activity. Consequently, desktop search engines will carry out indexing when the computer is not being used.
One of the key benefits of this type of software is that it allows the user to locate data stored on their hard disk almost instantaneously. They are designed to be fast. They are not integrated with a different application, such as a file manager.
For this week, I’m looking at a marvellous desktop search tool. It’s called Recoll. Recoll uses the Xapian information retrieval library as its storage and retrieval engine.
There’s a package available in the Raspberry Pi OS’s repositories. You get version 1.24.3. The current Recoll version is 1.27.2. As we’re missing out on significant program development (more than 2 years worth), I recommend compiling the source code. Fortunately, the process is quite straightforward.
First, let’s install a few necessary packages:
Next, download the file recoll-1.27.2.tar.gz from the project’s website. We can then proceed to uncompress and extract that file with the following tar command:
We then need to run the project’s configure script. This script is responsible for getting ready to build the software on your specific system. It makes sure all of the dependencies for the rest of the build and install process are available, and finds out whatever it needs to know to use those dependencies.
Having run the configure script, we can proceed to compile the source code with the make command. Don’t forget to use the -j4 flag as it speeds up the compilation significantly.
$ make -j4
$ sudo make install
We’re then ready to run the program. Bear in mind the first run can take a long time for the indexing to complete.
In my case, this is primarily because my home directory is jam-packed full of software and files. That’s one downside of running the RPI4 from an external SSD with a large capacity.
Recoll indexing is normally incremental: documents will only be processed if they have been modified since the last run.
Once the indexing is complete, we’re ready to rumble.
Recoll processes plain text, HTML, OpenDocument (Open/LibreOffice), email formats, and a few others internally.
Other file types (such as PDF, PostScript, MS Word, RTF) need external applications for preprocessing.
The image to the right shows the output of a very simple search. There are five different modes to help you locate what you’re looking for. With the Advanced Search mode, you can build complex queries.
Recoll works admirably on the RPI4. Memory usage is very light, around 62MB of RAM, so you can leave it running all the time whatever model of the RPI4 you’re using. Another success.
Just make sure you avoid the package, and compile the program yourself. It’s not hard (in this instance), and you get all the benefits of the latest version. What the RPI4 really needs is a community-driven repository, similar to the Arch User Repository. This would provide package descriptions that allow users to compile a package from source, sorting out issues specific to the RPI4. Given the huge volume of sales of the RPI4, I’m surprised we’re still so reliant on the official repositories stuffed full of mostly outdated software.
Read all my blog posts about the RPI4.
|Raspberry Pi 4 Blog|
|Week 36||Manage your personal collections on the RPI4|
|Week 35||Survey of terminal emulators|
|Week 34||Search the desktop with the latest version of Recoll|
|Week 33||Personal Information Managers on the RPI4|
|Week 32||Keep a diary with the RPI4|
|Week 31||Process complex mathematical functions, plot 2D and 3D graphs with calculators|
|Week 30||Internet radio on this tiny computer. A detailed survey of open source software|
|Week 29||Professionally manage your photo collection with digiKam|
|Week 28||Typeset beautifully with LyX|
|Week 27||Software that teaches young people how to learn basic computing skills and beyond|
|Week 26||Firefox revisited - Raspbian now offers a real alternative to Chromium|
|Week 25||Turn the Raspberry Pi 4 into a low power writing machine|
|Week 24||Keep the kids learning and having fun|
|Week 23||Lots of choices to view images|
|Week 22||Listening to podcasts on the RPI4|
|Week 21||File management on the RPI4|
|Week 20||Open Broadcaster Software (OBS Studio) on the RPI4|
|Week 19||Keep up-to-date with these news aggregators|
|Week 18||Web Browsers Again: Firefox|
|Week 17||Retro gaming on the RPI4|
|Week 16||Screen capturing with the RPI4|
|Week 15||Emulate the Amiga, ZX Spectrum, and the Atari ST on the RPI4|
|Week 14||Choose the right model of the RPI4 for your desktop needs|
|Week 13||Using the RPI4 as a screencaster|
|Week 12||Have fun reading comics on the RPI4 with YACReader, MComix, and more|
|Week 11||Turn the RPI4 into a complete home theater|
|Week 10||Watching locally stored video with VLC, OMXPlayer, and others|
|Week 9||PDF viewing on the RPI4|
|Week 8||Access the RPI4 remotely running GUI apps|
|Week 7||e-book tools are put under the microscope|
|Week 6||The office suite is the archetypal business software. LibreOffice is tested|
|Week 5||Managing your email box with the RPI4|
|Week 4||Web surfing on the RPI4 looking at Chromium, Vivaldi, Firefox, and Midori|
|Week 3||Video streaming with Chromium & omxplayerGUI as well as streamlink|
|Week 2||A survey of open source music players on the RPI4 including Tauon Music Box|
|Week 1||An introduction to the world of the RPI4 looking at musikcube and PiPackages|
This blog is written on the RPI4.