Text Search Configuration (search.xml)

DataCaster supports text searching of data in the database tables. The work of indexing and searching is delegated to other implementations using the com.applibase.db.search.TextSearch interface and available implementations.

This conf file specifies the list of configured implementations, each of which needs a TextSearch instance to implement the text search capability. Currently, only one implementation of TextSearch is provided, although variants of this can be configured for individual tables using the properties below.

The required attributes of Searcher are:

  1. type: The name used to specify the text search implementation.
  2. SearcherClass: The class name of the server text search implementation
class to be used, which must have a constructor with no arguments, and support the com.applibase.db.search.TextSearch interface.

Searchers may add any number of search implementation properties that are provided to the listener instance via the setProperties() method in the TextSearch interface.

For the default Lucene implementation, the following are the valid properties.

  1. synchronous : Permitted values true or false. Determines if indexing is run synchronously with table updates, or may be async and delayed a little in exchange for not holding up table operations
  2. analyzer : Any class name of a valid Lucene Analyzer implementation. Allows pluggin in any of the available or custom analyzers
  3. stop_words: A space separated list of stop words. Used to set the stop words if StandardAnalyzer or StopAnalyzer
  4. maxFieldLength : integer value
  5. mergeFactor : integer value
  6. minMergeDocs : integer value
  7. maxMergeDocs : integer value
  8. optimize_count : integer value. The number of changes to trigger an optimize operation on the index writer.