There's a PortableApps version of DocFetcher that works with portable Java. See this thread. You can get portable Java from here.
You may want to increase the amount of memory available to PortableApps DocFetcher. To do so, follow these steps:
App\AppInfo\Launcher\DocFetcherPortable.ini
.ini
file, go to the line starting with CommandLineArguments
.-Xmx
, e.g. -Xmx512m
. This controls the amount of memory. For 1 GB of memory, change it to -Xmx1g
.You can modify the "official" portable version of DocFetcher to make it work with a portable Java runtime. Instructions:
misc\DocFetcher.bat
from the misc
folder one level up into the DocFetcher folder.DocFetcher.bat
so that it points to the portable Java runtime. For example, if the Java runtime folder is named Java
and resides in the same parent folder as the DocFetcher folder, you can replace the java
keyword with start /b ..\Java\bin\javaw.exe
. (The start /b
and use of javaw
instead of java
will hide the black command prompt window after launch.)DocFetcher.bat
file.DocFetcher.bat
contains a parameter starting with -Xmx
, e.g. -Xmx512m
. This controls the amount of memory available to DocFetcher. For 1 GB of memory, change it to -Xmx1g
.For further discussion, see this thread.
DocFetcher Pro, the commercial big brother of DocFetcher, comes bundled with an internal Java runtime, so it can be run without installing Java.
There's a lot more you can do with DocFetcher's search field than just typing in some words to search for. For instance:
docfetch*
, docf?tcher
"dog cat\"
dog AND cat
All this and more is covered in the built-in program manual under the section "Query Syntax".
A preliminary note: DocFetcher was originally not designed for simultaneous use by multiple users, and the multi-user support described below was only tacked on as an afterthought. As a result, it suffers from various known problems, such as poor performance and program instability. If you can afford to spend some money on a modern, proper implementation of multi-user support, consider purchasing DocFetcher Server.
Multi-user support in DocFetcher can be realized by setting up a central index to be shared among multiple DocFetcher instances. Here's how it works:
indexes
folder inside the program folder to the new shared location.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. So just change the indexes path so it points to the new shared indexes.conf/program-conf.txt
. The following entries in that file might be of interest to you:Performance will be especially poor if a larger number of computers have write access to the same indexes. Thus, you should only give write access to one or a few DocFetcher instances in charge of updating the indexes. Another option is to give each computer a separate copy of the indexes to search with.
In DocFetcher 1.1.20 and later versions, DocFetcher supports Python-based scripting. This can be used to programmatically execute searches and retrieve the results. For an example of how this is done, see the explanation at the top of the file search.py
, which can be found in the DocFetcher program folder.
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.
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:
According to a user suggestion on the DocFetcher forum, here's a workaround to get some limited indexing support for Thunderbird emails:
Advanced
tab and check Allow Windows to search messages
.C:\Users\[username]\AppData\Roaming\Thunderbird\Profiles\
wdseml
to the list of plain text file formats.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.
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.