White Paper

Installation and Configuration of Mindbreeze InSpire

Copyright ©

Mindbreeze GmbH, A-4020 Linz, 2018.

All rights reserved. All hardware and software names used are registered trade names and/or registered trademarks of the respective manufacturers.

These documents are highly confidential. No rights to our software or our professional services, or results of our professional services, or other protected rights can be based on the handing over and presentation of these documents. Distribution, publication or duplication is not permitted.



IntroductionPermanent link for this heading

This document describes the installation and configuration of Mindbreeze InSpire in a Microsoft Windows environment.

Mindbreeze InSpire consists of:

  • The Mindbreeze InSpire Node, which is used to create indexes which can be queried by the users.
  • The Mindbreeze InSpire Management Node, which is used to configure and administer the Mindbreeze InSpire Nodes which are distributed over the network via a graphical user interface.

These components can be installed as required.

Chapter 9 describes the Mindbreeze InSpire query language.

Software RequirementsPermanent link for this heading

All information contained in this document implicitly assumes a Mindbreeze InSpire environment and Mindbreeze InSpire 2016 Spring Release.


  • All information about our current software requirements you can find in our Software Product Information

The required setup packages are provided on the Mindbreeze InSpire ZIP/ ISO File in the prerequisites directory.

Advanced Configuration of Mindbreeze InSpirePermanent link for this heading

After installing Mindbreeze InSpire, the user interface for configuring Mindbreeze InSpire will be displayed in a web browser.

It is recommended to select „Apply changes and restart on save“ option before saving any changes in the configuration. The services will restart after saving configuration changes. Therefore it recommended that these changes should be performed only during maintenance times.  

The “Overview“ tabPermanent link for this heading

This screen gives an overview of all Services, Nodes, and Category Plugins configured on the server.

“Indices“ Tab Permanent link for this heading

Index Services can be managed using the “Indices“ tab. All configured index services are listed here. They can be edited and deleted from here. Additionally, new index services can be created.

  1. To create an Index Service on the “Indexes” tab, perform the following steps:
  2. Click the plus icon () located on the top right-hand side.
  3. Edit the properties of the Index Service.

    In the “Setup” box, the fields “Display Name”, “Index Node”, “Index Path” and “Filter Service” are available by default. The following values can be specified in those fields:
  4. “Display Name”: In this field, a name for the Index Service can be specified.
  5. “Index Node”: In this field, the server the Index Service is running on is defined.
  6. “Index Path”: In this field, the path to the index directory can be specified. All index files will be stored in this directory.
  7. “Filter Service”: In this dropdown list, a Filter Service specifying the files which are to be indexed can be selected.
  8. Note: The Advanced settings checkbox showing additional options can be enabled if required.
  9. In the “Query Services” field, the Query Services making the Index Service available can be selected.
  10. In the “Data Sources” field, a data source to be indexed can be defined. Optionally, third-party products can be selected to pass data to the Index Service here.
  11. Click “Configure“ to get redirected to the configuration interface of the Filter Service in use.
  12. The configuration interface will automatically switch to the “Filters“ tab and the filter service to be configured will be opened in edit mode.
  13. Note: Editing Filter Services can also be done directly via the ”Filters“ tab.
  14. Checking the “Advanced Settings” checkbox located at the top right of this page will allow you to configure more index-related options.
  15. These additional options are:
  16. The “Disabled” field allows you to deactivate this index temporarily if checked.
  17. The “Supported TLS Protocols” field allows customizing the set of TLS Protocols that are supported by the Query Service. The value of this field must be a comma separated list of JSSE Protocol names.
  18. “External URL”: if the Query Service is located behind a load balancer that is accessible with a different host name, it is necessary to enter the external URL to the load balancer including the base path (see next option for details).
  19. The “Query Service URL Base Path“ allows the query service target URL to use a different URL than the default root (“/”) base path. This is needed when using a query service behind a central non rewriting reverse proxy.
  20. The “Data Port” field specifies the TCP with which subsystems will communicate.
  21. The Stop Character Class” field allows custom definition of word separators for this index. By default an index uses the separator characters as defined by the Unicode standard. If you leave this field empty, the characters [:punct:]¿¡„“‘”’«»‹›‚\pC will be used as separator characters. Otherwise, the stop characters defined here will be used in addition to the Unicode separator characters for separating words.
  22. The „Tokenizer Profile“ field allows custom definition of the tokenizer using a profile name. Currently, two profiles are available:
    • Profile „numeric“ (which is standard if you leave the field empty) enables the detection of numbers.
    • Using Profile „nonnumeric“, numbers are treated like regular words.
  23. The „Dump Requests/Responses“ enables enhanced troubleshooting and logs requests and responses to the index path under the “mesindex-debug-dumps” directory. The setting "On Error" logs every time a request produces an error. If the default setting "Never" is chosen, no logging occurs, "Always" logs each request.
  24. The value of the “Maximum Sample Length” field defines the maximum number of characters that will be sample texted for metadata and contents.
  25. The “Maximum Hit Count” field specifies the maximum number of hits which will be processed for a single query.
  26. „Approved Hits Reauthorize“ defines whether reauthorization of effective results should be performed by an external Data Source or by the internal Token Cache:
    • Token Cache: “Internal Authorization” against the Token Cache that is used by Mindbreeze InSpire to verify the user.
    • External Authorizer: Reauthorizing of potential hits against the respective data source to verify the rights of the User.
  27. „Aggregation Metadata Keys“ configure the metadata that the user needs for aggregation.
  28. When checking the “Unrestricted Public Access” checkbox queries to this index will not be access checked.
  29. With the “Use SAML Authentication” checkbox SAML-based authentication is enabled for the current index.
  30. Enabling „Suppress Identity Conversion“ directs the Query Service not to use any Identity Conversion Service including internal identity conversion.
  31. Enabling „Suppress Internal Identity Conversion“ directs the Query Service not to normalize the username according to platform standards. This option is useful if the normalization is not required. This use is specific to the Connector and Platform used.
  32. „ACL Evaluation Cache“ can be used to configure the ACL Evaluation Cache:
    • Disabled: No caching is used
    • „Enabled (Per Query)“: Caching within a single search
    • „Enabled (Long Term)“: Caching across multiple searches
    • „Enabled (Long Term and Collect Filter)“: Caching across multiple searches, in addition internally collected hits will be filtered at an early stage, if they are registered in the cache as unauthorized or deleted.
  33. “Use Authentication Cache” option is deactivated by default and enables the caching of external authorization results between the “Authentication Cache Flushing Interval”.
  34. The Option „Enable Security Token Authentication Cache (deprecated)” enables the caching of security tokens. This Option ist deprecated and disabled by default.
  35. The time specified for the “Authentication Cache Flushing Interval” options sets the maximum lifetime of a cached access check result.
  36. „SyncDelta Wait For Index Production Finished Attempts“ can be used to configure the maximum amount of attempts (in 5 second intervals) to check whether the index has finished inversion, before the index synchronization is executed. If the amount is exceeded, the SyncDelta operation is aborted.
  37. „Use Term Lexicon“ is activated by default and enables the term lexicon feature. If turned off, the term lexicon will be ignored during index creation and search. Note: Once turned off, to fully reactivate this feature, a complete index reinversion is necessary!
  38. The “Embedded Java VM Args” enable to pass Java specific arguments such as garbage collection control information to the embedded JVM.
  39. The time specified for “RPC Request Timeout” sets the maximum duration of an internal RPC request.
  40. „Document Insertion“ defines rules for the replacement of documents:
    • „Include Modification Date in Document Replacement“: Documents are replaced in case of a different modification date
    • „Include Metadata CRC64 in Document Replacement“: Documents are replaced in case of a different metadata checksum
    • „Include Content CRC64 in Document Replacement“: Documents are replaced in case of a different content checksum
  41. „Index Objects Status Includes“ defines, which documents the index will report as its status to the crawler:
    • „All Documents“: All documents are included
    • „Complete Documents“: Only documents with complete references are included
    • „No Documents“: No documents are included
  42. Reinversion Settings defines parameters for reinversion:
    • Reinversion Startup Delay Seconds: can be used to avoid reinversion of documents before other necessary services like Item Transformation register themselves in index.
  43. Alternative Query Spelling Settings-options defines alternative search terms suggestion.
    • If search results are less than „Alternative Query Spelling Max Estimated Count“-option alternative search terms are suggested.
    • If „Force Alternative Query Spelling Max Estimated Count“-option is selected than „Alternative Query Spelling Max Estimated Count“-option cannot be overwritten by options in search request sent by client service.
  44. The “Query Transformation Service Plugin Processing Timeout (ms)” option can be used to set a time limit for transformations for query transformation services. By default, no limit is set, meaning that a search waits for all configured query transformation services until they are finished with the transformation. If a timeout is set, the system waits a maximum of this set time for each transformation. If a transformation takes longer than the timeout, this transformation is skipped. The timeout applies to all query transformation plugins per transformation.

Query performance settingsPermanent link for this heading

The settings in this section are used to improve query performance:

  • Enable Filter Deleted DocIds: If this option is enabled, deleted documents are excluded earlier.
  • Enable Precomputed ACLs: Documents for which the querying user has no authorizations are excluded earlier with this option. Possible values:
    • Disabled: The optimization is not executed.
    • Enabled (SearchRequest): Optimization is only performed if this was requested in the query.
    • Force: The optimization is always carried out.
  • Precomputed ACL Category: The category (e.g. Microsoft file) for which the optimization is to be carried out must be specified.
  • Number of ACL Precomputation Threads: This setting determines how many threads are used for this optimization. If the field is empty, the value of the “Query Threads per Index” setting is used.
  • Use ACL Document Filter if Authorized Ratio is Less Than: Precompute ACL optimization is only applied if less than this percentage (0.0–1.0) is authorized for the querying user via ACL in an index.
  • Content Position Sampling Optimization: This option enables an optimizes sample texting algorithm.

Aggregation settingsPermanent link for this heading

  • Aggregated Metadata Keys Without Timeout (; separated): Aggregation is not aborted for these metadata keys.
  • Aggregation Count Limit: The aggregation is aborted as soon as the number of unique events configured here has been reached.
  • Collected Aggregation Results Limit: The aggregation is not aborted after reaching the number configured here, but only that many results are returned.

Index CompatificationPermanent link for this heading

Index-performance may degrade over time if many documents are added and deleted. The compactification feature removes buckets that contain deleted documents from the index.
Remaining documents are moved to a new bucket.

Automatic CompactificationPermanent link for this heading

The following options are available:

„Enable Periodic Delete Buckets“: Activates automatic compactification.

„Periodic Delete Buckets Cron Expr“: This option defines the automatic compactification schedule using a cron-expression. For Example the value  „0 0 0 * * *“ defines a compactification run each day at midnight.

„Periodic Delete Buckets Max Duration“: The compactification task will be canceled after the defined number of minutes and can be resumed later.

„Periodic Delete Bucket if Deleted $xo“: The automatic compactificationt task consideres only those buckets for deletion which reach the defined deleted document percentage.

„Permanent Delete Buckets“: If the setting is disabled, buckets are moved to a backup folder instead of deleting.

Manual CompactificationPermanent link for this heading

Additionally a command line interface using the “mescontrol”-tool is available.

„bucketsinfo”: Prints the current state of the buckets including the deleted documents percentage.

„listtasks“: Lists all running tasks.

„taskcancel <taskid>“: Cancels the specified task

„taskwait <taskid>“:  Waits until the specified task is finished

„taskstatus <taskid>“: Prints the status of the specified task

„deletebuckets  [--sync] [--min-percent-deleted-docs=<0..1>] [<bucketid_1><bucketed_n>]: Deletes the specified buckets.

--sync”: the command returns after the task has finished

„—min-percent-deleted-docs“: deletes buckets only if the percentage of deleted document exceeds this value

„bucketid.“: the IDs of the buckets to be deleted

Entity Recognition ParameterPermanent link for this heading

These Settings enable index service to extract metadata from document contents. For more details see <>.

  • “Pattern Rules” defines a set of rules that are applied during metadata extraction.
  • “Add Metadata Definition” defines rules for each metadata.
  • “If Rule Matches” is the rule that defines the rage in content where to extract metadata.
  • “Name” is the name of metadata.
  • “Value” is the rule that defines the value of metadata.
  • “Scope” is the rule that refines the place in matched range to extract metadata.
  • “Format” enables the extraction of typed metadata like date from string.
  • “Format Options” further format options.
  • “Locale” locale.
  • “In Existing Metadata” defines to which metadata these rules should apply.


“Pattern Rules” :

Day   = /(?:0?[1-9]|[12]\d|[3][0-1])/

Month = /(?:0?[1-9]|1[0-2])/

Year  = /(?:19|20)\d\d/

Date = Year "-" Month "-" Day

ChangedDateInText = "last changed:" /\s+/ Date /\(?:$|[^\d])/

“Add if Rule Matches” :


“Metadata Name” :


“Metadata Value” :


“Scope” :


If Query Transformation plugins are installed the following section is added to the Index Service configuration panel in “Advanced Settings” mode.

In the drop-down list the available Query Transformation plugins can be selected. The selected plugins can be activated for the current Filter Service using the “Add” button besides.

The activated plugins are listed above. By clicking on the “expand” button () of an active plugin, a “Plugin Properties” section will be visible. Here you can define properties for the current plugin instance in form of key-value pairs.  With the corresponding “delete” button you can remove () these custom properties.

By clicking on the delete button besides the active plugin name, the plugin will be removed from the list with all defined instance properties and will not be active for the current Index service.

Global configuration of query and item transformation pluginsPermanent link for this heading

Under "Global Index Settings", you can configure the preinstalled query and item transformation plugins globally for all indices. These plugins are also automatically applied to any newly added index. The global configuration is only applied to indices for which no plugins are directly configured or default plugins removed.

Enabling Index BackupsPermanent link for this heading

Index Backups can be enabled in the “Global Index Settings” section beneath the service configuration sections on the „Indices“ tab.

In the field „Allowed Backup Path Pattern (Regex)“ a regular expression is used to restrict the pattern of allowed backup directory paths.

Note: When separating paths, backslashes must be escaped: \\

To start a backup, the command line tool mescontrol can be used:
    mescontrol http://<INDEXHOST>:<INDEXPORT> backup <BACKUPZIELPFAD>

To stop a currently running backup, the following command line can be used:
    mescontrol http://<INDEXHOST>:<INDEXPORT> stopbackup

Enabling Support ModePermanent link for this heading

Activating “Advanced Settings” checkbox also shows the “Support Mode” section beneath the service configuration sections on the “Indices”, “Filter”, as well as “Client Services” tabs. Support mode traces detail information about the individual services into log files defaulting to the Mindbreeze service user’s TEMP directory on Windows and to /var/opt/mindbreeze/log directory on Linux platforms. Custom log directories can be configured in the “Log Location” section below.

Note: Do not keep support mode activated in “normal” operation to avoid decreasing the performance when not needed anymore. If in doubt, keep it disabled.

To persist changes click on the “Save” button on the top right corner.

Data sourcesPermanent link for this heading

To create data sources for a particular index click one of the icons at the top right of the ”Data Sources“ section. These icons represent the different data sources integrated into the Mindbreeze InSpire software.

Custom data sourcePermanent link for this heading

A custom data source makes it possible to use the Mindbreeze InSpire Client to search data sources integrated by a third party.

Custom data sources can be installed in different ways, depending on the form in which they are provided by the vendor, typically using the mesextension utility from the command line.

If provided as an archive, use the following syntax for installing the data source:

mesextension --interface=plugin --type=archive --file=<archive>.zip install

Look for detailed installation instructions in the documentation provided with the data source.

To create a custom data source proceed as follows:

  1. Click the symbol. A configuration form for custom data sources will be displayed.
  2. In the “Source name” field, assign an appropriate name for this data source.
  3. In the “Category” field, choose the registered data category corresponding to the data source being set up.

Click the ”Save“ button in the top-right corner to save your settings.

You will find further information on how to register a new custom data source with Mindbreeze InSpire and how to configure its indexing in the documentation of the Mindbreeze connector delivered by the third party.

Crawler SchedulingPermanent link for this heading

It is possible to apply one or more user defined time spans for the crawlers to run at. To set up this feature, go to the “Index” tab of your Mindbreeze InSpire Management Web Interface and enable the advanced mode by clicking on the check box at the top right corner of the page. After clicking on this check box some more user controls should appear on the screen, including one called “Crawler Schedule”. This section provides an overview over the already configured time spans that define when the current crawler should run. To add a new entry, simply click the “Add” button and enter the desired time span. To change an already existing time span, select it in the list and then click the “Edit” button. To remove one of the entries, simply select it in the list and then click the “Remove” button.

After clicking the “Add” button, the following screen will appear:

Here you can enter the time interval when the crawler should run. Please use a 24 h time format for your input. After entering your time span you can either click “Apply” to save your changes or “Cancel” to discard them.

Click the “Save” button at the top right of the screen to save your changes and make them take effect.

Customizing the category descriptorPermanent link for this heading

The category descriptor specifies the display options and the filter information of a data source and is an XML document stored in the plugin (typically categoryDescriptor.xml; the name is referenced via plugins.xml). The root element is the “category” element.

<?xml version="1.0" encoding="UTF-8"?>

<category id="Category" supportsPublic="false" keep-docinfo-metadata="false">



Attributes in the “category” element are:

supportsPublic: specifies whether the data source may be configured in a public index. The default value is false.

keep-docinfo-metadata: defines whether metadata with aggregatable or regexmatchable attributes will be retained or overwritten by an updated descriptor. The default value is false.

Adding custom metadata columnsPermanent link for this heading

A metadata definition could look like this:


    <metadatum aggregatable="true" id="current_state" visible="true">
      <name xml:lang="en">Ticket State</name>
      <name xml:lang="de">Ticket Status</name>


The following attributes can be defined in the metadatum element and are used to control the metadata in the index:

aggregatable: If this option is set to true, the column will be available as a filter (should only be defined for properties for which the values allow a grouping of the results – the aggregatable option doesn’t make sense for unique values, which can only occur once in the search result).

regexmatchable: specifies whether the search for these metadata can be performed with a regular expression.

visible: specifies whether the column is displayed in the default result presentation.

Replacing the hit iconsPermanent link for this heading

The small icon in the data source list of the search client is defined in the file “categoryIcon.png” in the ZIP archive of the data source plugin. You can replace the icon with a 16x16 icon of your choice.

You can also define an icon with the icon tag directly in categoryDescriptor.xml. This requires a unique ID, size attributes (height and width) and the picture itself (value), encoded as Base64 value.


<Icon alt="Ticket" height="16" width="16"





iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wIXECgw/xAFagAAAS1JREFUOMvFkz1uwkAUhL/nNV4Zesw9wgUILYq4gymCgCiRIG3gCkAOEnMFTgMNFT8W65cCpOAIAqmY8knzaTQ7C/eWvA8Gpd1uN3HOPQFyo0+NMYm1tkcrjmuzJNH/apYk2orjmu+c88tRxHq91tVqJSJ/hBBhu9kQRZGWo0icc74PoFmGqspkPMZae9G/3W55brdJ01Q0ywA4AIAgCPgYDi+agyAAYL/fIyLo8e4fKlEKhQKf0+nZBM45ur1eDoTqCeCo17e36/WrctpTDtDtdAjD8KzROUej0eCxXs/dc4DhaJSjh2FIsVi8nkA8D0Dn87kU/B9mpVLhoVr99ZICoOJ5AuAbY/bLxQJAms3mzQteLhYYY5wM+v1SmqbT45S5ecqe9xVY+3L3z8g3o1Sele9r3SQAAAAASUVORK5CYII= " />


Adding user-defined hit actionsPermanent link for this heading

You can add user-defined actions based on specific metadata, for instance, in order to open a ticket search result in a custom ticket web application.



<Action name="Open" pattern="http://intranet.mycompany.com/ticketing/show.html?ticketid={{mes:key}}">

  <name xml:lang="en">Open Ticket</name>

  <name xml:lang="de">Ticket Öffnen</name>




For the changes to take effect, you can upload the ZIP archive plugin with the modified categoryDescriptor.xml via the Mindbreeze configuration interface.

Note: We recommend renaming modified plugins with a separate name to better detect changes in product updates.

“Filters“ tabPermanent link for this heading

On the “Filters“ tab, all Filter Services can be managed. In the “Filter Services” box, the available Filter Services are shown. Using the “Add new filter“ button (the plus icon, located toward the top right-hand side) additional Filter Services can be defined.

To create a new Filter Service, perform the following steps:

  1. Click the plus icon () located at the top right-hand side.
  2. Edit the properties of the Filter Service.
  3. In the “Setup” box, the “Display Name” field is available by default. A name for the Filter Service can be specified in this field.
  4. In the “Node” field, the servers on which the Filter Service will be run can be selected.

To configure a Filter Service in more detail, perform the following steps:

  1. Select “Advanced settings” to display the file extensions that the Filter Service will filter. Available Filters are displayed as well as the filters provided by Mindbreeze InSpire

  1. If Java filters need more memory increase “Embedded Java VM Maximum Heap Size”.
  2. To analyze problems with Filters activate “Dump Requests/Responses” and select a directory to store the dumps with the option “Dump Directory”.
  3. If you want to filter Documents that are bigger than 50 MB increase „Maximal Input Size (MB)”.
  4. To accelerate filtering of ZIPs and PST-Files increase “Maximum Threads per Filter Request”.
  5. Configure a custom ”Filter Recursion Depth” to control the number of extracted objects from nested containers like ZIPs .
  6. Specify a Regular Expression for “Filter Pass Through Extensions Regular Expression” to specify extensions which are sent directly to the Index instead of filtering.
  7. To try all matching Plugins in case of errors in their relative order for a set of extensions, specify the extension as regular expression in the “Probe Filters Matching Extension Regex” field.
  8. In order to avoid overwriting data source metadata during content filtering select “Keep Datasource Metadata” form “Metadata Merge Strategy” dropdown box.
  9. Edit the “Filter Plugins” as required: files and documents will be filtered differently depending on their extension, you can adjust which extensions should be treated by which filter plugin from the filter service.
  10. Edit the “Filter Plugins” as required: files and documents will be filtered differently depending on their extension, you can adjust which extensions should be treated by which filter plugin from the filter service.
  11. Select “Generate CRC64 of Metadata“  to generate a CRC64 of the filtered metadata. If the CRC differs, the document will be replaced in the index if needed. Additional Regular Expression rules can be defined to include or exclude Metadata fields sent by the crawler.

Extracting additional PDF Meta Keys

The PDF-Filter extracts the following Meta Keys from PDF documents if they are available:

  • document:title
  • document:Author
  • document:Subject
  • document:Keywords
  • document:Creator
  • document:Producer
  • document:CreationDate
  • document:LastModified
  • document:Trapped

To extract additional Meta Keys add the plugin „FilterPlugin.PDFPreviewFPDFFilter“ to the „Global Filter Plugin Properties“ and configure the property „PDF Meta Keys“. Multiple values are separated via semicolon („;“):

Saving HTML meta tags as metadata

The HTML filter plugins Jericho and JerichoWithThumbnails extract the HTML meta tags as metadata values. If these HTML meta tags occur multiple times (with the same name and value), it is possible to save them only once as a metadata value.

Add the plugin “FilterPlugin.JerichoWithThumbnails” or “FilterPlugin.Jericho” (if no HTML thumbnail generation is used) to the filter under “Global Filter Plugin Properties” and enable the property “Store only distinct HTML meta tag values as metadata”.

If a regular expression is defined here as "Parsable HTML meta tag pattern," only meta tags with matching "name" or "http-equiv" attributes are stored as metadata.

If Post Filter Transformation plugins are installed (f. ex. SignatureToKeyRewriter), the following section is additionally shown in the Filter Service configuration:

In the drop-down list the available Post Filter Transformation plugins can be selected. The selected plugins can be activated for the current Filter Service using the “Add” button besides.

The activated plugins are listed above. By clicking on the “expand” button () of an active plugin, a “Plugin Properties” section will be visible. Here you can define properties for the current plugin instance in form of key-value pairs.  With the corresponding “delete” button you can remove () these custom properties.

By clicking on the delete button besides the active plugin name, the plugin will be removed from the list with all defined instance properties and will not be active for the current Filter service.

To save the modifications, click “Save“. Modifications in the configuration are propagated to the appropriate server nodes.

  1. Switch to the “Overview“ tab-to get an overview of the mapping of services and server nodes.

Similar to the ”Indexes“ tab, the ”Filters“ tab offers the ability to enable the support mode.

"Client Services" TabPermanent link for this heading

The ”Client Services“ tab is used to manage all client services. A client service provides the server-side support for the Mindbreeze InSpire Web Client. The field “Web Client Services” shows all existing web client services.

In order to add new web client services, click the plus symbol () at the top right-hand side.

In order to create a new web client service, proceed as follows:

Click the plus symbol () located at the top right-hand side.

Modify the settings of the new client service.

In the “Setup” field you can manage the settings “Display Name”, “Node”, “Port (HTTPS)”, “Requires Authentication” and URL of Help-Website. The following values can be defined using those fields:

  • Display Name”: This field can be used to assign an appropriate name to the client service.
  • Node”: This field defines the node on which the client service will run.
  • Port (HTTPS)”: This field determines under which TCP port the service will be made accessible. This port is used in the address of the Web Client e.g. “https://myserver.mycompany.com:23350/“.
  • “Query Metrics Port (TCP/IP)”: If a port is specified for Query Metrics, recording of Query statistics is enabled. The Port is used to control the Query Metrics recording.
  • “Display Tabs for Data Sources”: If this option is enabled, the Web Client will show tabs for each activated data source.
  • “Load More Results Using”: With Infinite Scrolling more results are loaded automatically when scrolling. Pages activates the paging feature. The number of visible pages is configured with: Maximum Number of Displayed Pages.

Infinite Scrolling


  • “Requires Authentication”: This field defines if the client service offers its resources to the public or only to local users. Should the data be made publicly available, the corresponding data sources must also be configured appropriately (“Advanced Settings”, “Unrestricted Public Access”)
  • “URL of Help-Website”: Here the URL of a Help Website can be entered. This site is then available as link in the Client Service
  • „Fabasoft app.telemetry Web API URL“: Here the URL of an app.telemetry Web API can be entered, to enable end-to-end software telemetry.
  • In the part “Filters” filters that are displayed in the Client Service can be chosen. Filters that can be selected depend on the selected Query Services and the defined “Aggregation Metadata Keys”.
  • In the “Query Engines” field you can choose the data sources which will be made available over the client service.

If “Advanced Settings” is activated the following settings can be made

  • "Disabled" chooses whether to start this Client Service or not.
  • “Data Port (TCP/IP)”: Determines a TCP port for communication with subservices.
  • "Logout Redirect URL" is the URL where the client gets redirected to after logging out.
  • Supported TLS protocols: This option allows you to configure the TLS protocols supported by the client service. Here you can specify a comma-separated list of JSSE protocol names.
  • “Use SSL (HTTPS)”: If this option is enabled, the Client Service can be reached via https:// in the browser, while deselecting the option allows connecting using http://. The port setting of the Client Service is respected nonetheless. Note: This option is relevant to security. If “Use SSL” is deselected, data transmission from browser to Client Service is not encrypted.
  • “Supported TLS protocols”: This option allows you to configure the TLS protocols supported by the client service. Here you can specify a comma-separated list of JSSE protocol names. You can find the documentation for JSSE at: https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html
  • “SSL-Certificate”: This field allows to select the SSL-Certificate that is used by the Client Service. By default the certificate that is contained in the license (“Use SSL-Certificate supplied with your license”) If SSL-Certificates were installed in the “Certificates” Tab, these certificates can be selected. Only available if "Use SSL (HTTPS)" is enabled.
  • “Use SAML-Authentication”: defines SAML for authentication for the Client Service.
  • „External URL“: If the client service is used behind a proxy, the URL to reach the client service is entered here.
  • “URL Base Path”: Here a different URL base path instead of the default root (“/”) can be entered. This is useful if the client service is running behind a reverse proxy, which can’t rewrite URL paths.
  • “Language”: This field defines the localization of the Client Service. If “system default” is activated, the browser language setting is used.
  • "Servlet Affinity": this option is only needed if the Client Service works behind a load balancer and SAML authentication is used. The specified value is then set as an "AFFINITY" cookie for each request.
  • “Maximum Number of User Query Terms”: Limits the number of words the user can use in the query.
  • “Maximum Number of Displayed Values (Filter Settings)”: The maximum count of displayed values can be entered here.
  • “Number of Displayed Values (Filter Settings)”: The number of displayed values can be entered here.
  • “Collapsible (Filter Settings)”: Filter values are collapsible if selected.
  • "Open by Default (Filter Settings)": Filter values are open by default.
  • "Maximum Custom Metadata Count": If the data source supports grouped metadata, this value is used to set the maximum count of grouped metadata displayed in detail view. Additionally, this value limits the displayed length of list-metadata.
  • “Content Fetch Timeout”: Downloads are aborted after this time span is elapsed.
  • “Query Timeout”: Queries are aborted after this time span is elapsed.
  • “Refinement Resolution Timeout”: Refinement resolution is aborted after this time span is elapsed.
  • “Search In Resolution Timeout”: Search In resolution is aborted after this time span is elapsed.
  • “HTTP Connect Timeout”: This field defines the maximum wait time when opening a http connection.
  • “AJAX Request Timeout”: AJAX requests are aborted after this time span is elapsed.
  • “Preview Length”: This field defines the length of the preview.
  • “User Profile Storage Path”: This field defines a directory where user profiles are stored. User profiles are saved automatically while the user interacts with the Client.  Each Client Service saves its own set of user profiles if no path is configured. If you want multiple Client Services to use the same user profiles, enter the same path for all Client Services.
  • “Embedded Java VM Args (-Xmx…)”: This field defines the options that are assigned to the Client Service on startup. Please use this option only after consulting the Mindbreeze Support.
    If the Client Service runs out of memory you can use the option -XX:+ExitOnOutOfMemoryErrorto restart the Client Service automatically.
  • “Flush in Memory Metrics after (queries)”: Query statistics are written to disk after the given number of queries.
  • “Flush in Memory Metrics after (seconds)”: Flush the Query statistics to disk after the given seconds.
  • “Maximum Metrics Filesize”: Query statistic files are limited to the given size.
  • “Metrics Base Directory”: Base Directory to store the Query statistics.
  • “Use Trusted Peer Authentication”: If it is checked, the client service accepts client certificates for authentication. For trusted peer authentication a trusted CA certificate should be selected on the “Certificates” tab. The client certificates will be validated against this CA certificate.
  • “Trusted Peer Credential Certificate”: With this checkbox a trusted SSL Certificate can be selected from the uploaded certificates (SSL certificates can be uploaded on the “Certificates” tab of the configuration interface). This certificate is used for forwarding the request to the query services. For successful authentication the selected certificate must be signed with the trusted CA certificate.
  • Authentication Generates Trusted Peer Credentials”: if this option is checked, client certificate based authentication will be used between client services and query services. The certificate used here is the SSL certificate configured in the “Trusted Peer Credential Certificate” section.
  • „Federated Query Engines“: Enter URLs of query services that are not managed by this Manager Node here. For authentication a special multi master configuration is necessary, see the whitepaper "SAML-based Authentication (eng)" for details.
  • „Federated Client Services“: URLs of Client Services which should be included for all users.
  • „Display federated results immediately, ignoring global relevancy ranking “: if activated all requested results from a source are displayed. This may include less relevant results on the first page.
  • „API V2 Concurrent Request Limits”: Set the maximum number of concurrent requests for each API service. If the limit is reached, the API calls return the status message „Maximum number of concurrent requests exceeded, please try again later!“ until the number of concurrent requests is below the limit. 0 means no limit. Default: 0
  • „Federated Sources“: Activate “Enable Fabasoft Mindbreeze Cloud Sources” to federate several Fabasoft Mindbreeze Cloud services. To add own services, reference additional service lists.
  • If the option “Count Filtered Values” in section “Query Settings” is enabled filter counts are also displayed for not selected values.
  • If the option “Enable Character NGRAMs” in section “Query Settings” is enabled, Character NGRAMs can be activated or deactivated. Default: true
  • If the option „Ignore Global Uniform Properties“ is enabled, metadata defined in the Uniform Property Descriptor can be overwritten by the Category Descriptor.

Configuring permitted forwarding URL for user loginPermanent link for this heading

If a user logs in to the client service or if the Search App Editor is used, HTTP forwarding is performed by the browser (via the address /mashup-login) depending on the configured login type. For security reasons, no forwarding to arbitrary URLs is allowed. These settings can be used to configure which URLs are permitted.

By default, "Allow login redirect URLs to" is set to "Client Service External URL." This means that only URLs that correspond to the "External URL" of the client services are allowed. For example, if the client service external URL is https://search.mycompany.com, then the URL https://search.mycompany.com/login is permitted, but the URL https://crm.mycompany.com/login is not.
Note: If the external URL is not set in the client service, then only the URL model is checked, either HTTP or HTTPS, depending on the "Use SSL" setting in the client service.
Relative URLs are always permitted. If the URL is not permitted, the browser gets an "HTTP 403 Forbidden" error message.

The default settings are usually sufficient for simple applications. In special cases, such as load balancers with differing client service "External URLs" or reverse proxies that terminate SSL, the default settings are not suitable and cause HTTP 403 errors. For these special applications, the setting "Allow login redirect URLs to" must be set to "Custom Pattern", and a regular expression (Java) must be specified for "Custom Pattern". The regular expression is matched directly against the forwarding URL. If there is a match, the URL is permitted, otherwise an HTTP 403 error is output. An example of a regular expression would be https://search.mycompany.com.* which allows the URL https://search.mycompany.com/login, but not https://crm.mycompany.com/login.
Note: If the regular expression is missing or incorrect, then no forwarding URL is permitted.

Configuring settings for the delivery of imagesPermanent link for this heading

By default, non-static images, such as thumbnails or icons, are delivered as data URLs. If, for instance, a custom client causes problems with data URLs, the setting “Enable Get Image Resources In Separate Requests” can be used to switch the delivery to HTTP(S) URLs. This setting may be removed in the next version of Mindbreeze. Therefore, the custom client must be adapted and data URLs have to be used in order to work even after the next update. Security notice: If this setting is active, the host name in the URL will not be validated.

Enable Saved Searches Permanent link for this heading

  • In the Section “Query Persistence Settings” you can set up server-side searches. If enabled is checked, the user can store queries in a database and access them via the Client-Service. Enable this functionality by checking „Enable” and setting up your database connection. The „Database Table Prefix” can be used to use different Client-Services in the same database.


  • Enable: To save the searches on the server enable this checkbox
  • JDBC URL: URL to database
  • User: Username of the database
  • Password: Password for the user of the database
  • Database Table Prefix: Set a table prefix if is needed

Optional AuthenticationPermanent link for this heading

With the “optional authentication” setting the Mindbreeze InSpire Client Service allows anonymous search in the documents that have no access restrictions. The user can log in for accessing the contents that are restricted and can optionally return to anonymous search by logging off.

For configuring optional authentication, on the Mindbreeze InSpire configuration interface navigate to the “Client Services” tab and set the “Requires Authentication” option to “Optional”.

The optional authentication setting requires that the Client Service has the “Authentication Generates Trusted Peer Credentials” is checked and a “Trusted Peer Credential Certificate” is selected for the Client Service.

If the trusted peer certificate is not available the client service does not allow anonymous access and login is mandatory.

If optional authentication is successfully set the user can switch between authenticated and anonymous modes by clicking on the “Login” respective “Logout” links on the Client Service user interface:

Show/hide user namePermanent link for this heading

If a user is logged in and a user name is available, it can be shown or hidden using the “Display Username” setting.

When this setting is enabled, the full user name is output. If the setting is not enabled, "Login" or "Logout" appears, depending on the login status.

CORS headerPermanent link for this heading

To restrict access to client service resources, you can specify the HTTP header: "Access Control Allow Origin" here. The default value * does not restrict access.

Note: If the value * is set, the HTTP header “Access-Control-Allow-Credentials” is not set for security reasons:  If, however, this header is required, "Access Control Allow Original" must explicitly list the specific origins. E.g. http://www.example.com, https://www.mycompany.com

HealthcheckPermanent link for this heading

The health check of the Client Service is configured in the “Healthcheck Settings“ section.

The address <Adresse des Client Services>/ping indicates whether the client service is operational. This allows the service to be monitored in order to inform the operation or to enable/disable it on a load balancer, for example.

By default, the "Workload Check" checks the load of the Web server and the number of parallel requests (see also API V2 Concurrent Request Limits). The "Disabled" setting disables this check.

In addition, you can add your own checks in "JSON Healthcheck Files Directory". This allows search queries to be executed and their results can be checked and processed with Javascript.

ResponsesPermanent link for this heading

Workload Check

JSON Healthcheck Files Directory

HTTP Status Code



Not configured





Acc. to configuration

Acc. to configuration





VotingPermanent link for this heading

In order to offer the possibility to give feedback on a result (positive or negative feedback), the option "Enable Voting" can be set in the client service.

If this option is active, all results in the client are equipped two additional buttons.

You can analyse the feedback in app.telemetry (Application -> Query Service Query Log -> View Telemetry Data).

Operating custom Search Apps using the Client ServicePermanent link for this heading

To operate your own Search Apps using the Client Service please use the section “Web Application Contexts Settings” as described in the document “Development of Search Apps”

Using port 80 as the client service port on G7 appliancesPermanent link for this heading

To run a client service on port 80, the following steps are required on G7 appliances:
Disable the option: “Use SSL (HTTPS)and set the “Port (HTTP)”  to 23350. Port 80 is automatically forwarded to this port.

For security reasons, access to port 80 is restricted. To allow access for specific IP addresses or subnets, edit the file: “/var/data/iptables.sh”.

In the line “iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -s -p tcp -m tcp --dport 80 -j DOCKER,” enter the allowed addresses instead of or remove “-s”  to enable access from anywhere. Then restart the appliance to apply the firewall rules.

During an update, the file “/var/data/iptables.sh” is overwritten and a backup in the format "/var/data/iptables.sh.bak.YYYYY-MM-DD" is automatically created. If necessary, restore your customized rules after the update.

“Administrators“ TabPermanent link for this heading

The ”Administrators“ tab provides the interface to configure authentication and authorization for accessing the Mindbreeze InSpire configuration.

The box “Authorized Users” shows all users which currently have access to the configuration user interface.

Note: If there is no user in this list, no authentication and hence no access control is performed.

To add a new user, perform the following steps:

Click the plus icon () located at the top right-hand side.

Enter the name of the new user who should get access to the configuration user interface in the “Username” field. The name must include the machine or domain name, i.e. “MACHINE\username or “DOMAIN\username.

Click the “Save” button located at the top right-hand side

As soon as you have entered one or more administrators and clicked save, only the specified users may change the configuration using the web-based user interface. Therefore, ensure that you have added your own user name before closing the user interface.

You may later revoke a user’s rights to manage the configuration by unchecking the “Authorized” checkbox, or remove the user from the list by clicking on the icon at the right window border ().

Authentication is based on Kerberos and NTLM. For Kerberos to work as expected, the Kerberos infrastructure must be configured by adding a so-called Service Principal Name (SPN) for the Mindbreeze InSpire Management Node service user.

“License” tabPermanent link for this heading

The “License“ tab is used to manage the Mindbreeze InSpire license.

In the “License:” field, enter the path to the license file or use the “Browse…” button to navigate to the file.

Click “Save”.

After saving the license file, the name of the company licensed for the current installation of Mindbreeze InSpire and the license expiration date is displayed in the “Current License Information” box. Under “License Restrictions” additional restrictions - such as the number of users allowed to use the current installation of Mindbreeze InSpire- are displayed.

“Certificates“ tabPermanent link for this heading

Mindbreeze InSpire offers the possibility for third-party applications to issue queries to the Query Service without providing complete user credentials. Such applications are called ”trusted peers“ and must authenticate themselves using a SSL certificate. In order to ensure the confidentiality of the data stored in the index, it is required that such certificates are signed by a Certificate Authority (CA) which has been registered within Mindbreeze InSpire.

In order to define the trusted CA, use the ”Certificates“ tab to upload the “.CER” file containing the certificate of the CA in PEM format. If you don’t upload any CA certificate, the functionality of trusted peers will not be available. The option “Trusted Peer” enables if an available certificate is used for this purpose. The box “Current Trusted CA Information” shows the currently registered certificates.

All CA-certificates („Available CAs“) can also be used for authentication via client-certificates. This type of authentication can be used from the Windows Client. Every user has to present a certificate signed by a specified CA. The CA has to be defined in the index settings by selecting a certificate for the preference “Authentication Certificate” in “Advanced Settings”.

In order to operate the Web Client Service with a different SSL-certificate than the supplied one, for example to use load-balancing, upload certificates in pkcs12 format. These certificates show up below “Available SSL Certificates” and can be chosen for each Web Client Service from the “SSL Certificate” option in “Advanced Settings”. The default setting “Use SSL Certificate supplied with your license” uses the certificate supplied with your license.

“Network“ TabPermanent link for this heading

The “Network“ tab enables common network configurations for all services.

Proxy SettingsPermanent link for this heading

These proxy settings are used by all Mindbreeze Enterprise Search services in order to access web resources through a proxy server. Host address and port of proxy server and a valid username and password is to be provided if necessary.

LDAP SettingsPermanent link for this heading

This information is important for the connection with the LDAP servers necessary for authorisations:

  • Domain Name: Fully qualified domain name.
  • LDAP Server: These LDAP Servers will be preferred for LDAP queries. Additionally the LDAP servers in DNS Server Records (_ldap._tcp.gc._msdcs and _ldap._tcp) of Active Directory will be used if the configured LDAP Server is not reachable or delivers no results.
  • Disable LDAP Server Discovery: Only configured LDAP Servers will be used for queries. No LDAP server discovery will be performed.
  • Excluded Domain: Domains to be excluded from LDAP queries.
  • Enable Persisted Cache: LDAP query results are cached locally. For example group membership of a user.
  • Enable SSL/TLS: Connections to LDAP server are encrypted with SSL/TLS.
  • Enable Connection Pool Manager: Connections to LDAP server are reused to improve performance.
  • Maximum Connections: Maximum number of connections to LDAP server which are established at service startup. These connections can be used in parallel. A LDAP query will be block only if all these connections are in use.
  • Maximum Shared Connections: Maximum number of threads that can share the same underlaying physical connection.

“About“ TabPermanent link for this heading

The “About“ tab shows common information about the current installation of Mindbreeze InSpire, such as the version number and the copyright.

Recovering Mindbreze Configuration from a backupPermanent link for this heading

When a configuration change is saved, backups of the Mindbreeze configuration files (mesconfig.xml and pluginsite.xml) are automatically created. The backup files can be found in the same folder as the original configuration files:

%userprofile%\AppData\Roaming\Mindbreeze\Enterprise Search\Server\,

The %userprofile% folder is the profile folder of the Mindbreeze Manager Service user. If the service is started with the system user, the configuration files are located in

C:\Windows\System32\config\systemprofile\ AppData\Roaming\Mindbreeze\Enterprise Search\Server\

The backups have the following naming schema: mesconfig.xml.backup_<timestamp> und pluginsite.xml.backup_<timestamp>.

For recovering the last state of the Mindbreeze configuration the following steps are necessary:

  • Stop the Mindbreeze Manager and Node services
  • Replace the files mesconfig.xml and pluginsite.xml with the corresponding backups:  mesconfig.xml.backup_<timestamp>  
  • Start the Mindbreeze Manager and Node services.

Mindbreeze InSpire Query language Permanent link for this heading

The Mindbreeze InSpire Query language is used to specify queries.

Querying single termsPermanent link for this heading

To search for a word or the first letters of a word no wildcard characters (%, *, etc...) are required.


Entering “act” initiates a search for objects that start with the term “act” or contain the word “act”. During a search capitalization is ignored, i.e. a search for the term “act” returns the same results as a search for “Act” or “ACT”, since the query language does not distinguish between upper and lower case letters.

Search for multiple terms in one documentPermanent link for this heading

In addition to querying single terms, you can query for multiple terms within one document. A search for multiple terms covers documents containing the terms themselves as well as documents containing words starting with these terms. To be part of the search result, all terms entered have to be contained in a document.


Alternative 1:car test

Alternative 2:Car Test

Alternative 3:CAR TEST

These three alternatives return the same search result: documents containing words beginning with ”car“ and “test” or containing “car” and “test” as independent terms. The query language does not distinguish between upper and lower case letters.

Search for phrases/definite searchPermanent link for this heading

A search for phrases searches for definite words or phrases. This kind of search is initiated via quotation marks (“) at the beginning and at the end of a phrase.

Example: "Knowledge is a matter of seconds"

The exact phrase is searched for. Searching for phrases does not make sense if the exact spelling of the words or the phrase is unknown.

Restriction to file extensionsPermanent link for this heading

Mindbreeze InSpire is able to restrict the search to files with particular file extensions.

Example:mind (extension:doc OR extension:xls OR extension:msg)

This query searches all files with the file extensions “.doc” (Microsoft Word), ”.xls” (Microsoft Excel) and ”.msg” (Microsoft Outlook) for the word “mind” or words starting with "mind" in upper case or lower case letters.

Logic operationsPermanent link for this heading

ANDPermanent link for this heading

Phrases, words and word beginnings in a search query are implicitly combined with the logical operator AND. The search delivers documents containing all phrases, words and word beginnings listed in the search query. The keyword AND can also be included explicitly in a (for example nested) search query.

Example:"Mindbreeze" AND "Search"

ORPermanent link for this heading

The logical operator OR delivers all documents containing at least one of the search criteria: at least one of the phrases, words or word beginnings entered. The search result also contains documents, containing only one entered term or one word beginning with an entered term or containing one of the entered phrases. The key word OR has to be explicitly defined within a search query and can also be used in a nested query.


Alternative 1:("Mindbreeze" OR "Search") AND "Software"

Alternative 2:("Mindbreeze" OR "Search") "Software"

These two queries deliver all documents containing the word “Mindbreeze” and/or the word ”Search” together with the word “Software“. They deliver documents containing the combinations ”Mindbreeze” and ”Software“, “Search” and ”Software” or ”Mindbreeze”, ”Search” and ”Software”.

Key wordsPermanent link for this heading

NEAR Permanent link for this heading

A search with the NEAR operator delivers documents, in which one word is found near another word.

Example:Mindbreeze NEAR Search

NOTPermanent link for this heading

A search with the NOT operator returns results within a source set where the word does not occur. NOT cannot be specified without any other word that yields results.

Example:Mindbreeze NOT slow

Metadata searchPermanent link for this heading

A metadata search is primarily used to refine a search result via additional restrictions. Mindbreeze InSpire provides some default metadata. In addition, manufacturer dependent metadata (defined by Mindbreeze partners) can be used.

Syntax of a metadata search: <metadatum>:<value>


A search for a file extension can be defined via the metadatum ”extension”.

Example:extension:doc mind

n this example both alternatives produce the same search result: Microsoft Word files containing the word “mind” or words starting with “mind”.

The following table shows the metadata available for the data sources provided by Mindbreeze InSpire by default:

Short name



Available for



Search within name




Search within extension




Search within folder name

File system, Outlook, Exchange



Search within subject

Outlook, Exchange



Search within sender

Outlook, Exchange



Search within receiver

Outlook, Exchange

(not displayed)


Search within document content


The Microsoft Exchange Connector defines the metadata terms from and to.


This search query delivers all objects sent by an address with the term ”bauernf”.

Interval SearchPermanent link for this heading

A Query containing the „TO“ operator returns search terms between the left and the rigth side of the operator. This is particularly useful when combined with numerical strings. Mindbreeze recognizes numerical values in various formats, for example:


canonical representation















Interval Search Syntax: <from> TO <to>


105 TO 110

Extended Metadata Interval Search Permanent link for this heading

Extended metadata interval search syntax:

label:[from> TO <to>]


label:[TO <to>]


size:[1MB TO 1,4MB]

mes:date:[2012-03-20 TO 2012-03-25]

Combination of language elements Permanent link for this heading

It is possible to combine the described language elements of the Mindbreeze InSpire query language.

Example:title:Integration from:bauernf extension:doc

This example delivers Microsoft Word documents sent by an address with the term ”bauernf“ in it and with a title containing the word “Integration" or a word beginning with ”Integration”.

Operation and MaintenancePermanent link for this heading

Changing the Index Service-ModePermanent link for this heading

A Mindbreeze InSpire Index Service supports the following modes:

  • Mode: running ()
  • This is the default mode of a Mindbreeze InSpire Index Service. This mode represents normal operation.
  • Mode: readonly ()
  • This mode is used to provide index consistency during backup of the index files for Mindbreeze InSpire.
  • Hint: To allow resumption of the indexing process or start indexing of new documents (delta-indexing), the state must be changed back to “Mode: running”.
  • Mode: offline ()
  • This mode cannot be set explicitly by the user. An Index Service is in this mode when it has been stopped completely.

Manually changing the Index Service-ModePermanent link for this heading

In addition to automatic state changes, the mode can also be changed via the Mindbreeze InSpire configuration user interface. In the “Services” field click the icon in the “Associated Index” column to change the mode. Clicking it again changes the mode back to the original state.

Hint: If the Index Service is not running, there will also be an indication why. The mode of the index service cannot be changed when in this state via the user interface, you must start the Index Service manually.

Changing the Index Service-Mode using a ScriptPermanent link for this heading

To change the index service mode to “readonly”, please run the following from the Command Prompt:

mescontrol http://indexserver.yourcompany.com:23100 readonly

To change the index service mode to “running”, please run the following from the Command Prompt:

mescontrol http://indexserver.yourcompany.com:23100 readwrite

Backing up the index dataPermanent link for this heading

Mindbreeze InSpire uses a file-based index. These index files can be backed up completely in a consistent state.

To save index data, perform the following steps:

Change the mode of the index service to “Mode: readonly “().

Check the consistency of the index with:
mescontrol http://index.yourcompany.com:23100 checkconsistency

Verify the exit code (ERRORLEVEL) of mescontrol

Navigate to the directory where the index is stored, and backup the files within this directory, only when no errors occurred up to now

Change the mode of the index service to “Mode: running” ()

Restoring index dataPermanent link for this heading

To restore a previously saved index, perform the following steps:

  • Stop the Index Service.
  • Delete any existing files in the index directory (if not required any more) or change the path to the index files of the Index Service in the configuration to a new.
    Hint: If you define another directory, make sure that the service user has write access to the defined path.
  • Copy the restored index files into the directory.
  • Restart the Index Service.

Index Status InformationPermanent link for this heading

Index StatisticsPermanent link for this heading

Every Index service provides detailed status information about status of the indexing process and the number of documents indexed by using the “/statistics” URL path:

An example endpoint of an index service on host “indexserver.mycompany.com” listening on 23100 would result in the following URL: http://indexserver.mycompany.com:23100/statistics

Indexed DocumentsPermanent link for this heading

In addition to getting statistics on the indexing status one can use the “/documents” URL Path to browse indexed documents either by document key (depending on the connector in use) or by document id (docid). Please note that the docid is an internal sequence number and varies between indexing runs.

An example endpoint of an index service on host “indexserver.mycompany.com” listening on 23100 would result in the following URL: http://indexserver.mycompany.com:23100/documents

Retrieving Index Status InformationPermanent link for this heading

For health checking purposes one can use the raw index status handler available via /index_mode on the index service’s bind port. For instance on an Index Service running on indexserver.mycompany.com that is listening on port 23100 it would be: http://indexserver.mycompany.com:23100/index_mode

If the Index Service receives a request on this end point, the index responds with status information in form of an XML document that has the following schema:

<status mode=”<status-information>” />

<status-information> indicates the mode of the index which can be:

  • normal (read write)
  • readonly
  • offline (closed)

Receiving an HTTP status code other than 200 also indicates that the index is not fully operational.

Appendix APermanent link for this heading

Service Restart Behavior after Configuration ChangesPermanent link for this heading







Filter Plugins

Principal Cache

Client Service

Client Service


Adding  a new index and a connector



Adding a connector to an existing index





Changing a connector's configuration



Changing index path

Changing an index's configuration



Adding a query plugins to an existing index



Changing a query plugin's configuration



Adding a filter plugin to an existing filter



Changing a filter's configuration



Changing a filter plugin's configuration


Client Service

Changing a client service's configuration



Adding  a client service plugin



Changing a client service's plugin



Changing the log level

Changing the log directory









Changing the proxy settings









Changing the LDAP settings









Changing the credentials and endpoints






Changing the authentication settings **







Changing the certificates **







**    Only services which are affected directly by the change. For example changing the kerberos keytab will cause restart of the service which uses this keytab.

Appendix BPermanent link for this heading

Manual Configuration of Kerberos-based AuthenticationPermanent link for this heading

The following steps are needed for manual configuration:

  • Set the HTTP/<host_fqdn> service principal name for the service user, using the setspn tool or add manually using adsiedit.msc. Here the <host_fqdn> is the fully qualified domain name of the Mindbreeze InSpire Node:
    e.g setspn –a HTTP/myserver.mydomain.com DOMAIN\serviceuser.
    Make sure that the SPN is not already set for a different user or host object from the current Windows Active Directory, e.g. using setspn -x (available on Windows Server 2008 servers) or try third party tools like dumpspn.
  • Set the trusted for delegation flag for the service user in the "Users and Computers" management console plugin (dsa.msc).

Appendix CPermanent link for this heading

This appendix lists useful administration details for Mindbreeze InSpire components.

Web browser configurationPermanent link for this heading

The security restrictions of web-browsers limit the use of file resources (e.g. file://myserver.mycompany.com/share/letter.doc) and they are not accessible in most browsers without modification of security settings. Kerberos support for authentication is also not configured by default but Mindbreeze InSpire uses Kerberos Single Sign On for secure network wide search. This section shows how to manually configure the required browser settings based on Mozilla Firefox and Microsoft Internet Explorer.Manual Configuration

To manually configure Mozilla Firefox, type “about:config” in the address bar. This will show a list of configuration options.

The following configuration entries have to be set.

Config Value


Example values


This value should contain two entries of the fully qualified hostname of the Mindbreeze Web Client Service. One for the http protocol, the other for https

Note: Multiple entries can be specified using  a comma (,) as a seperator.

http://myserver.mycompany.com, https://myserver.mycomapny.com


This value should contain the same entries as the network.negotiate-auth.delegation-uris value

Note: Multiple entries can be specified using  a comma (,) as a seperator.

http://myserver.mycompany.com, https://myserver.mycomapny.com

After restarting the Firefox browser, the changes should have been applied. Authentication with the Mindbreeze InSpire Web Client Service should now work as expected.

In addition to Kerberos authentication, another important configuration option is to be able to open file URLs. Mozilla Firefox up to version 1.4, and Mozilla Suite up to version 1.7.x provide only one global value to configure the settings of file URLs. This configuration is called ”security.checkloaduri“ and should be set to ”false“.

Warning: Globally setting this value might open a security risk when visiting malicious internet sites.

Newer versions of Mozilla Firefox (starting with version 1.5) and the Mozilla SeaMonkey Suite starting with version 1.0 are able to set the security settings for a set of web sites which are described by a policy.

To create a policy you have to manually edit the user.js configuration file that resides in your local Mozilla proflie folder. (e.g.: C:\Docments and Settings\User\Application Data\Mozilla\Firefox\Profiles\xxxxx.xxx\user.js).

Note: Please refer to the %USERPROFILE%\Application_Data\Mozilla\Firefox\profiles.ini configuration file, to find your active Firefox profile directory.

The following snippet shows the configuration of a new policy called “messecurity settings” for the Mindbreeze InSpire Web Client Service Node running on myserver.mycompany.com, on port 23350

user_pref("capability.policy.policynames", "messecuritysettings");

user_pref("capability.policy.messecuritysettings.sites", "https://myserver.mycompany.com:23350");

user_pref("capability.policy. messecuritysettings.checkloaduri.enabled", "allAccess");

Note: Several Web Client Services can be added to the policy by separating them with spaces.

Microsoft Internet ExplorerPermanent link for this heading

Setting the configuration manuallyPermanent link for this heading

Microsoft Internet Explorer uses security zones to implement its security model. By default, a web site is located in the “Internet” zone. To grant the necessary rights to the Mindbreeze InSpire Web Client, add the URL of the Mindbreeze InSpire Web Client Services to the “Local intranet” zone.

Double-click the globe symbol toward the right of the status bar. Then in the “Internet Security” tab which is displayed, select “Local Intranet” and “Sites”. Add the Mindbreeze InSpire Client Service URL to the local intranet sites using the following the dialogs.

Add both the http as well as the https URL of the Mindbreeze Enterprise Search Web Client Services to the list of local intranet sites.

Example: Your Mindbreeze InSpire Web Client Service is available from myserver.mycompany.com add the following two entries to the list:



After that you should verify that in “Custom Level” the setting “Display Mixed Content” is enabled.

Additionally you should disable the “Do not save encrypted pages” option in the “Advanced” Tab.

Restart Microsoft Internet Explorer so that the new settings take effect.

Configuration of Microsoft Internet Explorer via Group PoliciesPermanent link for this heading

Follow the steps below to automatically set the configuration described above for a specific organizational unit in your Active Directory domain. The following section guides you through the steps needed to create a group policy which adds the Mindbreeze InSpire Web Client Service to the Trusted Sites and the Mindbreeze certificate to the Root Certificate Authorities.

First, log on as a member of the “Domain Admins” group. Then open the “Active Directory Users and Computers Management” console. Right-click the domain or Organizational Unit where you want your Internet Explorer to be configured and click “Properties.

Then select the Group Policy Tab and click the “New” button. Type a name for the new Group Policy Object. (e.g. MES IE Config). Then click the “Edit” button.

In the following section an administrative template which will configure the Internet Explorer settings mentioned above will be added.

After opening the Group Policy Object Editor, right-click “Administrative Templates” and select “Filtering…”.

In the following dialog uncheck “Only show policy settings that can be fully managed”.

Import the administrative template

First right-click “Administrative Templates” and select “Add/Remove Templates…”.

In the following dialog add the file called “MindbreezeEnterpriseSearchWebclient.adm” located on the Mindbreeze InSpire installation ZIP / ISO.

After adding the administrative template, please enable all settings.

To add the Mindbreeze Webclient to the “Trusted Sites” navigate through User Configuration>> Windows Settings >> Internet Explorer Maintenance >> Security. Next, right-click Security Zones and Content Ratings in the right window pane and click Properties.

Select “Import the current security zones and privacy settings”. If prompted, click “Continue”. Then click “Modify Settings”.

Select “Trusted Sites” and click the “Sites” button. Type the full URL of the site you wish to add and click “Add”. Add a URL for http and one for https (e.g. http://myserver.mydomain.com and https://myserver.mydomain.com).

Click “Close” and then “OK”.

To add the certificate for Mindbreeze InSpire into the list of the Trusted Root Certification Authorities, navigate down to Computer Configuration > Windows Settings > Security Settings > Public Key Policies > Trusted Root Certification Authorities. Right-click on this option and select “Import”.

In the “Certificate Import Wizard”, browse to the location of the Mindbreeze Certificate called camindbreeze.pem that is located in the installation directory of the Mindbreeze InSpire Node (e.g. /var/opt/lindbreeze/lib/store.). Confirm all open dialogs and wizards.

Now Mindbreeze MES Server Authority should be shown in the list of Trusted Root Certification Authorities. Close all open dialogs and windows of the snap-in.

Restart the client computers for changes to take effect. After that the Mindbreeze InSpire Web Client should work without restrictions.

Appendix DPermanent link for this heading

Installation of Fabasoft app.telemetry Log Pools for MindbreezePermanent link for this heading

Downloading the Log DefinitionsPermanent link for this heading

The Fabasoft app.telemetry log definitions for the Mindbreeze services can be downloaded from the Mindbreeze configuration console by clicking on the Link “Fabasoft app.telemetry log definitions and Dashboards” on the “Overview” tab of the Configuration UI.

After downloading and extracting the archive apptelemetryconfig.zip, the Fabasoft app.telemetry  log definitions are located in a folder named “Logdefinitions”. Here you can find the following files:

  • apptelemetrylogdefinitions_clientservice.xml: log definition file for Mindbreeze Client Services;
  • apptelemetrylogdefinitions_client.xml: log definition file for the Mindbreeze JavaScript Clients;
  • apptelemetrylogdefinitions_contentfilterservice.xml: log definition file for Mindbreeze Content Filter Services;
  • apptelemetrylogdefinitions_crawlerservice.xml: log definition file for the Mindbreeze Crawler Services;
  • apptelemetrylogdefinitions_filterservice.xml: log definition file for Mindbreeze Filter Services;
  • apptelemetrylogdefinitions_indexservice.xml: log definition file for Mindbreeze Index Services;
  • apptelemetrylogdefinitions_jobsyncservice.xml: log definition file for the Mindbreeze JobSync Services (used for Mindbreeze InSite installations);
  • apptelemetrylogdefinitions_networkrequests.xml: log definition file for a network requests log pool for Mindbreeze Web Crawlers;
  • apptelemetrylogdefinitions_queryservice.xml: log definition file for Mindbreeze Query Services;
  • apptelemetrylogdefinitions_sdkcsandbox.xml: log definition file for the Mindbreeze SDKCsandbox services;
  • apptelemetrylogdefinitions_tenantqueryservice.xml: additional log definition for multitenant Query services.

Creating Log Pools for the Mindbreeze Services in Fabasoft app.telemetryPermanent link for this heading

Defining Log Pools for the Mindbreeze services can be accomplished following the steps described here:


In the “Log Pool Properties” tab of the log pool configurations the following “Application Filter” parameters should be set correctly for the Mindbreeze log pools:

  • Application: Mindbreeze
  • Application Tier:
    • “Client” for Mindbreze Client log pool
    • “Client Service” for Mindbreeze Client Service Log pools
    • “Client Service Query Log” for Mindbreeze Client Service Query Log - Log pools
    • “Content Filter Service” for Content Fitler Service log pools
    • “Index Service” for Index Service log pools
    • “Query Service” for Query Service log pools
    • “Sandbox” for SDKCsandbox Service log pools.