Running DocFetcher without installing Java

There's a PortableApps version of DocFetcher which works with portable Java. See this thread.

Alternatively, follow the instructions in this thread to make portable DocFetcher run with a portable Java runtime.

Setting up DocFetcher in a multi-user environment

The following instructions describe how to let multiple computers use a shared index. Important: There will be performance issues if a larger number of computers have write access to the same index. Thus, you should only give write access to one or a few DocFetcher instances in charge of updating the index. Another option is to give each computer a separate index to search with.

Here's how you can set up a shared index:

  • You'll need the portable version of DocFetcher.
  • The file misc/paths.txt allows you to change the location of the indexes and settings. In a multi-user environment, you should probably leave the location of the settings as is, so that each user has his own settings.
  • If your repository is modified frequently, it's probably a good idea to turn off the folder watching for all indexes.
  • On the preferences dialog, there's an “Advanced Settings” link that points to the file conf/program-conf.txt. The following entries in that file might be of interest to you:
    • AppName - change the program window title
    • AllowIndexCreation - set to false to prevent users from creating indexes
    • AllowIndexUpdate - set to false to prevent users from updating indexes
    • AllowIndexRenaming - set to false to prevent users from renaming indexes
    • AllowIndexRebuild - set to false to prevent users from rebuilding indexes
    • AllowIndexDeletion - set to false to prevent users from deleting indexes
    • SaveSettings - set to false to disable writing the program settings to disk
    • ShowAdvancedSettingsLink - set to false to hide the “Advanced Settings” link on the preferences dialog
    • MaxResultsTotal - lowering this value might give you better search performance, especially if your index is on a remote filesystem

Making DocFetcher faster

Depending on your hardware, DocFetcher's indexing and searching might get (a lot) faster if you increase the so-called initial heap size and/or the maximum heap size of the Java runtime on which DocFetcher runs. A good starting point for further testing would be a initial heap size of 512 MB and a maximum heap size of 4 GB. The maximum value for both values is limited by the amount of RAM available.

Instructions on how to increase the maximum heap size can be found on the FAQ. Increasing the initial heap size works the same way, namely by adding the parameter -Xms (e.g. -Xms512m). For further information on tuning the Java runtime, see this StackOverflow post.

Indexing large folders

The indexing of large folders is more likely to fail due to greater folder depth and greater number of large files that might cause DocFetcher to run out of memory. If you need to index large folders anyway, keep the following tips in mind:

  • On the top right of the indexing dialog, there's a ”+” button that allows you to put multiple folders in a queue for indexing.
  • Instead of indexing the entire folder, try to index its subfolders one by one, using the aforementioned indexing queue. This will isolate possible failures so that if indexing of one folder fails, the other indexing processes won't be affected.
  • Giving DocFetcher more RAM decreases the risk of DocFetcher dying on large files during indexing. See the section “How to raise the memory limit” in the manual. DocFetcher comes with launchers with up to 8 GB of RAM; anything above 1 GB requires a 64-bit Java runtime.

Indexing Thunderbird emails

According to a user suggestion on the DocFetcher forum, here's a workaround to get some limited indexing support for Thunderbird emails:

  • Make sure you're using the latest Thunderbird version.
  • In the Thunderbird settings, go to the Advanced tab and check Allow Windows to search messages.
  • In DocFetcher, index the folder containing your Thunderbird profile. In Windows 7, the path looks like this: C:\Users\[username]\AppData\Roaming\Thunderbird\Profiles\
  • Before starting the indexing process, add wdseml to the list of plain text file formats.
  • Downside: By setting mail as searchable in Thunderbird, it is stored unencrypted.

Various indexing tricks

  • Queueing directories for indexing: The ”+” button on the top right of the indexing dialog allows you to put directories in a queue for indexing.
  • Treating unsupported file formats as plain text: Even if a certain file format is not directly supported by DocFetcher, you may be able to search in files with that format in a limited way: On the indexing dialog, add the file format's extension to the list of plain text files. This seems to work with Outlook MSG files, for example, as reported in this feature request.
  • Embedding data in filenames: Since DocFetcher can search in filenames as well as file contents, you can add some extra data in the filenames. This is particularly useful for unsupported file formats, which wouldn't show up in the search results otherwise.

Updating indexes from the command-line

To update all indexes from the command-line, start the DocFetcher executable with the --update-indexes parameter.

Note that on Windows, the DocFetcher.exe will quit immediately after starting an updating process in the background, so you won't get any feedback on the console about what it is doing. As a workaround for this, you can move the file misc/DocFetcher.bat one level up into the DocFetcher folder and run the index update with the DocFetcher.bat file instead. – The latter does not fork into the background.

Launching programs with DocFetcher

It's possible to use DocFetcher for launching programs in the Windows start menu. You can do this by indexing the start menu folder with “lnk” added as a text file extension on the indexing configuration dialog. The preview for lnk files is garbage, but it works.

That being said, it might be a better idea to use a separate program for launching files, e.g. Launchy.

Software that works well with DocFetcher

  • DropBox and other cloud-storage services: A cloud-storage service allows you to synchronize files across computers. Since DocFetcher is portable and can be bundled with its indexes and the accompanying document repository, you can use a could-storage service like DropBox to synchronize a DocFetcher bundle across computers.
  • TrueCrypt: TrueCrypt allows you to create encrypted volumes, in which you can put sensitive and/or private data. As DocFetcher is portable, you can put the whole DocFetcher installation in your TrueCrypt volume and index the files in the volume.

Linux issue: 100% CPU usage caused by DocFetcher daemon

A known issue with the DocFetcher daemon on Linux, which has the filename docfetcher-daemon-linux, is that when it is automatically launched on startup, it can permanently use 100% of one CPU core. In that case, check whether the folder containing your indexes (e.g. ~/.docfetcher) contains a file named .indexes.txt. If not, create an empty file with that name.

QR Code
QR Code tips_tricks (generated for current page)