textify.cfg defines which non-Java based filters will be used to extract plain text from binary documents.

  • Name: textify.cfg

  • Collection location: ~/conf/collection/

  • Global Location: ~/conf/

External filtering is not recommended for performance reasons as a new process is started for each document that is filtered using an external filter. Where possible use Tika to filter binary documents to text.

Configuring external filter programs

The external filters are external programs that convert binary documents into plain text. textify.cfg contains lines specifying filters in the following form:



  • extension is the file extension of the target file, for example .doc or .pdf.

  • command is the external command to run.

Command parameters

In the value for the filter’s command, the following tokens will be replaced by the information on the current file being filtered:

Token Replaced by…​


The path to the binary file (input).


The path to the plain text file (output).


The executable program taken from $SEARCH_HOME/conf/executables.cfg (e.g. executable{perl} might map to c:\perl\bin\perl.exe)


The environment variable $SEARCH_HOME (Linux) or %SEARCH_HOME% (Windows).

If TEXTIFY_INPUT or TEXTIFY_OUTPUT is not specified on the command line, then these files will be used as the command’s standard input and standard output respectively.

Textify files

There are usually three textify.cfg files that will be consulted to determine which filters should be used on particular files. These are (in order of precedence):

  • collection specific textify.cfg ( $SEARCH_HOME/conf/COLLECTION_NAME/textify.cfg )

  • system wide textify.cfg ( $SEARCH_HOME/conf/textify.cfg )

  • default textify.cfg ( $SEARCH_HOME/conf/textify.cfg.default )

The textify.cfg.default should not be changed as these are overwritten during an upgrade.


Here is the PDF filter from the standard textify.cfg:

.pdf=executable{perl} $SEARCH_HOME/bin/filter/pdf2html.pl TEXTIFY_INPUT

See also