Doodle is a tool to quickly search the documents on a computer. Doodle builds an index using meta-data contained in the documents and allows fast searches on the resulting database. Doodle uses libextractor to support obtaining meta-data from various file-formats. The database used by doodle is a suffix tree, resulting in fast lookups.
Install Doodle Desktop Search Engine in Debian
If you want to install doodle Desktop Search Engine you need to install two packages doodle,doodled
Desktop Search Engine (daemon).It searches your hard drive for files using pattern matching on meta-data. It extracts file-format specific meta-data using libextractor and builds a suffix tree to index the files. The index can then be searched rapidly. It is similar to locate, but can take advantage of information such as ID3 tags. It is possible to do full-text indexing using the appropriate libextractor plugins. It also supports using FAM to keep the database up-to-date.This is the daemon to keep the doodle database automagically up-to-date.
Desktop Search Engine (client).It searches your hard drive for files using pattern matching on meta-data. It extracts file-format specific meta-data using libextractor and builds a suffix tree to index the files. The index can then be searched rapidly. It is similar to locate, but can take advantage of information such as ID3 tags. It is possible to do full-text indexing using the appropriate libextractor plugins. It also supports using FAM to keep the database up-to-date. You can use doodled (separate package) to keep the doodle database automagically updated.
#apt-get install doodle doodled
at the time of installation you should see the following screen
WARNING: You should run ‘/etc/cron.daily/doodle' as root. doodle will not work properly until you do or until it is run by cron (it is daily).
This will complete the installation part
Install Doodle Desktop Search Engine in Ubuntu
sudo apt-get install doodle doodled
If you want to keep your doodle database up-to-date, you can either periodically re-run doodle with the -b option, or you can use doodled, the doodle daemon. doodled uses fam to notice whenever a file is changed and instantly updates the doodle database. In order to use doodled, you must have famd running. If famd is running, you can start doodled by passing the same arguments that you would pass to doodle to construct the database, but without the -b option
You can also use doodled to construct the initial database. While doodled is updating the database, any doodle search will block until the update is complete. Note that while you may want to index your entire disk (i.e., doodle -b /), it is typically not a great idea to have doodled monitor your entire system for changes --- especially since /usr is unlikely to change frequently. You can address this issue by first indexing / and then using doodled to monitor only directories that change frequently
$ doodle -b /
This way, your entire system will be in the index, and your home directory will be always up-to-date.
Using different options for different directories
You can build a database from multiple doodle runs over distinct sets of files with different options. For example, the following can make sense
$ doodle -B en -b /usr/share/doc # full-text index over documentation
$ doodle -b /usr /opt /bin /lib # normal index over other system files
$ doodled -B en /home # monitor /home, with full-text support
A simple doodle search will then find files in all listed directories. You can also build multiple disjoint databases and search all of them in one run
Hints for system administrators
If you are the system administrator, you might want to run doodle on the entire system periodically (cron job) and have doodled monitor the home directories in the background. In that case, it is suggested to have the doodle database be group-readable for a group doodle. Set the permissions for the doodle binary to SGID to allow users to poll the database. Doodle will ensure that information about files not accessible to the user are not leaked by checking if files found in the database are accessible to the user. doodled has to run as root since otherwise it would be impossible to index the personal files of all users. If that it too risky, doodled will still work, but only index the files readable to the user that runs doodled.