ZARAFA-INDEXER.CFG(5)                                    ZARAFA-INDEXER.CFG(5)



NAME
       zarafa-indexer.cfg - The Zarafa Indexer configuration file

SYNOPSIS
       indexer.cfg


DESCRIPTION




       The indexer.cfg is a configuration file for the Zarafa Indexer Service.
       indexer.cfg contains instructions for the software to set up the
       connection, indexing and logging systems.



FILE FORMAT




       The file consists of one big section, but parameters can be grouped by
       functionality.




       The parameters are written in the form:




       name = value



       The file is line-based. Each newline-terminated line represents either
       a comment, nothing, a parameter or a directive. A line beginning with
       `#' is considered a comment, and will be ignored by Zarafa. Parameter
       names are case sensitive. Lines beginning with `!' are directives.



       Directives are written in the form:



       !directive  [argument(s)]



       The following directives exist:



       include
              Include and process argument

              Example: !include common.cfg



EXPLANATION OF THE SERVER SETTINGS PARAMETERS




       server_socket
              Socket to find the connection to the Zarafa server.

              Default: file:///var/run/zarafa


       run_as_user
              After correctly starting, the server process will become this
              user, dropping root privileges. Note that the log file needs to
              be writeable by this user, and the directory too to create new
              logfiles after logrotation. This can also be achieved by setting
              the correct group and permissions.

              Default value is empty, not changing the user after starting.


       run_as_group
              After correctly starting, the server process will become this
              group, dropping root privileges.

              Default value is empty, not changing the group after starting.


       pid_file
              Write the process ID number to this file. This is used by the
              init.d script to correctly stop/restart the service.

              Default: /var/run/zarafa-indexer.pid


       running_path
              Change directory to this path when running in daemonize mode.
              When using the -F switch to run in the foreground the directory
              will not be changed.

              Default: /


       cleanup_lockfiles
              If for some unfortunate reason the zarafa-indexer is not cleanly
              stopped, it may leave lockfiles behind on stores it was
              processing. To continue the indexing on this possibly corrupt
              index, you need to remove the lockfile. To restart the index of
              the store, you need to remove the complete index directory. This
              directory will be mentioned in the log. You may choose to
              automatically remove the lockfiles by setting this option to
              yes. The index will be left on disk.

              Default: no



EXPLANATION OF THE SSL SETTINGS PARAMETERS




       ssl_key_file
              The file containing the private key and certificate. Please read
              the SSL section in the zarafa-server(1) manual on how to create
              this file.

              Default: /etc/zarafa/ssl/indexer.pem


       ssl_key_pass
              Enter you password here when your key file contains a password
              to be readable.

              No default set.


       ssl_private_key_file
              The indexer will use this file as private key for SSL TLS. This
              file can be created with: openssl genrsa -out
              /etc/zarafa/indexer/privkey.pem 2048.

              Default: /etc/zarafa/indexer/privkey.pem


       ssl_certificate_file
              The indexer will use this file as certificate for SSL TLS. A
              self-signed certificate can be created with: openssl req -new
              -x509 -key /etc/zarafa/indexer/privkey.pem -out
              /etc/zarafa/indexer/cert.pem -days 1095.

              Default: /etc/zarafa/indexer/cert.pem



EXPLANATION OF THE LOGGING SETTINGS PARAMETERS




       log_method
              The method which should be used for logging. Valid values are:




              syslog Use the Linux system log. All messages will be written to
                     the mail facility. See also syslog.conf(5).


              file   Log to a file. The filename will be specified in
                     log_file.


              Default: file


       log_file
              When logging to a file, specify the filename in this parameter.
              Use - (minus sign) for stderr output.

              Default: -


       log_level
              The level of output for logging in the range from 0 to 5. 0
              means no logging, 5 means full logging.

              Default: 2


       log_timestamp
              Specify whether to prefix each log line with a timestamp in
              'file' logging mode.

              Default: 1



EXPLANATION OF THE INDEXER SETTINGS PARAMETERS




       server_bind_name
              Connection path to which other processes can connect with the
              zarafa-indexer for performing search queries.

              Use http://0.0.0.0:port to listen as an HTTP service on all
              network interfaces on the given port number.

              Default: file:///var/run/zarafa-indexer


       index_path
              Base directory under which all index files will be placed, the
              hierarchy below this folder will be:
              ${index_path}/${server}/${user}/index

              Default: /var/db/zarafa/index/


       index_sync_stream
              Enable streaming synchronization. This can increase
              synchronization speed depending on the setup. During streaming
              synchronization all messages which will be synchronized will be
              downloaded in a single call requiring more overall memory. When
              index_attachments is disabled streaming will cause overhead
              because all attachments will be downloaded to the client even
              though they will not be indexed.

              This option requires enable_enhanced_ics to be enabled in the
              zarafa-server.cfg(5), otherwise the indexing will still fallback
              to the slower synchronization.

              Default: yes


       index_interval
              Interval (in minutes) for indexing. During every interval the
              zarafa-indexer will synchronize with the zarafa-server to
              collect all changes for each store and update the index files
              for the stores accordingly.

              Default: 5 minutes


       index_threads
              Maximum number if indexing threads. In a multi-server
              environment it is possible to distribute the work for different
              zarafa-servers over different indexing threads. Note that the
              work for a single server will be exclusively assigned to a
              single thread, thus the number of started indexing threads will
              never exceed the number of zarafa-servers.

              Default: 1


       index_max_field_length
              Maximum number of words from a single message to index. Only the
              first index_max_field_length from a single message will be
              indexed, all words above this value will be discarded.

              This value is used to control the amount of required memory
              during the indexing process. More memory will be required during
              indexing when index_max_field_length is set to a higher value.

              Default: 10000


       index_merge_factor
              Number of index file segments per store before Lucene merges the
              segments into a single file.

              A low value will cause less memory to be used during indexing,
              but the increased IO access to disk causes the indexing process
              to be slower, while searching will be faster. A high value will
              speed up the indexing process while searching will be slower




              Batch indexing
                     If index_interval is set to a high value, set
                     index_merge_factor to a high value (> 10).


              Interactive indexing
                     If index_interval is set to a low value, set
                     index_merge_factor to a low value (< 10).


              Default: 10


       index_max_buffered_docs
              Max number of documents kept in memory before CLucene will write
              a new index file segment to disk.

              Larger values will increase memory usage but makes the indexing
              process faster.

              Default: 10


       index_min_merge_docs
              Minumum number of messages in a single store which are indexed
              in memory before the index writer flushes the index to disk as
              new index file segment.

              Creating new index file segments often increases IO access to
              disk but reduces the amount of memory required during the
              indexing process.

              Default: 10


       index_max_merge_docs
              Maximum number of documents in a index file segment, when an
              index file segment contains index_max_merge_docs documents it
              will no longer be merged with other index file segments.

              This will limit the total size of an index file segment but will
              trigger more index file segments to be created.




              Batch indexing
                     If index_interval is set to a high value, set
                     index_max_merge_docs to a high value (> 10000).


              Interactive indexing
                     If index_interval is set to a low value, set
                     index_max_merge_docs to a low value (< 10000).


              Default: 2147483647 (INT32_MAX)


       index_term_interval
              The fraction of terms in the "dictionary" which should be stored
              in memory. Smaller values use more memory, but make searching
              slightly faster, while larger values use less memory and make
              searching slightly slower. Searching is typically not dominated
              by dictionary lookup, so tweaking this is rarely useful.

              Default: 128


       index_cache_timeout
              Timeout value (in seconds) for purging all caches used during
              the indexing process. If set to 0 caching will be disabled.

              Default: 0



EXPLANATION OF THE ATTACHMENT INDEXER SETTINGS PARAMETERS




       index_attachments
              Enable indexing of attachments. When attachments are being
              indexed, searching for keywords in the body of a message will
              automatically cause the attachment to be searched as well.

              This will slow down the indexing process, require more system
              memory and increases index file size.

              Default: yes


       index_attachment_max_size
              Maxiumum file size for attachments to be indexed. Any attachment
              larger then this amount (in kilobytes) will not be indexed.

              Default: 5120


       index_attachment_parser
              For indexing attachment each file must be converted into
              plain-text by a parser. For this purpose the attachments_parser
              script has been installed which can be configured to parse
              specific mime-types.

              It is highly advisable to check the attachments_parser.db file
              to add or remove parser command for specific mime-types and/or
              file-extensions.

              Default: /etc/zarafa/indexerscripts/attachments_parser


       index_attachment_parser_max_memory
              Limit the maximum amount of memory (in bytes) the parser may use
              for converting the attachment into plain-text. If this limit is
              exceeded the parser will be killed and the attachment will not
              be completely converted. If the value is set to 0 the limit is
              considered as infinite.

              The attachment parser depends on external tools to convert
              attachments to plain-text, by limiting the amount of resources
              the parser is allowed to use problems can be prevented when the
              selected external tool misbehaves with certain attachments.

              Default: 0 bytes


       index_attachment_parser_max_cputime
              Limit the maximum cpu time (in seconds) the parser may use for
              converting the attachment into plain-text. If this limit is
              exceeded the parser will be killed and the attachment will not
              be completely converted. If the value is set to 0 the limit is
              considered as infinite.

              The attachment parser depends on external tools to convert
              attachments to plain-text, by limiting the amount of resources
              the parser is allowed to use problems can be prevented when the
              selected external tool misbehaves with certain attachments.

              Default: 0 seconds


       index_attachment_mime_filter
              Some attachments are not intresting to run through the parser.
              With this option you can filter out attachment which have a
              specific mimetype. Only the first part of the mimetype should be
              given here. Good examples of a mimetype to filter is 'image',
              'audio' and 'video'. This field is space separated.

              Default:


       index_attachment_extension_filter
              As the mime filter above, but works on the attachment extension.
              This is only tested if the mimetype of an attachment was
              unknown. Good examples of an extension to filter is 'gif',
              'jpeg', 'jpg' and 'png'. This field is space separated.

              Default:


       index_max_clauses
              This is the maximum number of clauses that can be present in a
              Lucene search query, after expansion. You can raise this limit
              if you are experiencing a Too Many Clauses error during
              searches.

              Default: 50000 clauses



EXPLANATION OF THE INDEX FILTERS SETTINGS PARAMETERS




       index_block_users
              A list of usernames which should not be indexed by the indexing
              service. Fields in the list are seperated by a SPACE.

              Default: empty


       index_block_companies
              A list of tentants which should not be indexed by the indexing
              service. All users and the public store belonging to these
              tentants will not be indexed. Fields in the list are seperated
              by a SPACE.

              Default: empty


       index_allow_servers
              A list of server names which should be indexed by the indexing
              service. All stores located on these servers will be indexed,
              all other servers will be ignored. If kept empty, no filtering
              is applied and all detected servers are indexed. Fields in the
              list are seperated by a SPACE.

              Default: empty



RELOADING


       The following options are reloadable by sending the zarafa-indexer
       process a HUP signal:



       log_level



       index_threads



       index_max_field_length



       index_merge_factor



       index_max_buffered_docs



       index_min_merge_docs



       index_max_merge_docs



       index_term_interval



       index_attachments



       index_attachment_max_size



       index_attachment_parser



       index_attachment_parser_max_memory



       index_attachment_parser_max_cputime



       index_attachment_mime_filter



       index_attachment_extension_filter




AUTHOR


       Written by Zarafa.



SEE ALSO


        zarafa-indexer(1)





                                                         ZARAFA-INDEXER.CFG(5)
