org.apache.uima.search

## Interface IndexBuildSpecification

- All Superinterfaces:
    Serializable, XMLizable

      public interface IndexBuildSpecification
      extends XMLizable, Serializable

  Determines how a `CAS` get indexed with a UIMA-compliant search engine. This is done by providing rules that describe how different types of Annotations in the CAS should be indexed.

  This object implements the `XMLizable` interface and can be parsed from an XML representation. The XML representation is as follows:

         <indexBuildSpecification>
           <indexBuildItem>
             <name> CAS_TYPE_NAME | CAS_TYPE_NAMESPACE_WILDCARD </name>
             <indexRule>
               <style name="NAME">
                 <attribute name="NAME" value="STRING"/>
                 ...
                 [<attributeMappings>
                   <mapping>
                     <feature> STRING </feature>
                     <indexName> STRING </indexName>
                   </mapping>
                   ...
                 </attributeMappings>]
               </style>
               ...
             </indexRule>
             [<filter syntax="NAME"> FILTER_EXPRESSION </filter>]
           </indexBuildItem>
           ...
         </indexBuildSpecification>

  The `...` indicates repeating elements of the same type - for example an `indexBuildSpecification` may have multiple `indexBuildItem`s. The square brackets indicate optionality, hence `filter` is an optional element of `indexRule`.

  - CAS_TYPE_NAME is any valid type name in the CAS.
  - CAS_TYPE_NAMESPACE_WILDCARD is a CAS type namespace followed by `.*`, for example `org.apache.myproject.*`
  - NAME is a string that must be taken from the set of names recognized by the particular indexer implementation. Some standard names are defined in the `Style` and `Filter` classes.
  - FILTER_EXPRESSION is a string whose meaning is determined by the value of the `syntax` attribute on the `filter` element. See `Filter` for details.
  - STRING can be any string (although in some contexts this must match a valid CAS feature name). See `Attribute` and `Mapping` for details.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `IndexBuildItem[]` | `getIndexBuildItems()` Gets the `IndexBuildItem` objects that comprise this index build specification.
    `void` | `setIndexBuildItems(IndexBuildItem[] aItems)` Sets the `IndexBuildItem` objects that comprise this index build specification.

    - ### Methods inherited from interface org.apache.uima.util.XMLizable

      `buildFromXMLElement, buildFromXMLElement, toXML, toXML, toXML, toXML`

- - ### Method Detail

    - #### getIndexBuildItems

          IndexBuildItem[] getIndexBuildItems()

      Gets the `IndexBuildItem` objects that comprise this index build specification. Each of these identifies an annotation type and describes how it should be indexed.
      Returns:
        the build items

    - #### setIndexBuildItems

          void setIndexBuildItems(IndexBuildItem[] aItems)

      Sets the `IndexBuildItem` objects that comprise this index build specification. Each of these identifies an annotation type and describes how it should be indexed.
      Parameters:
        `aItems` - the build items

Copyright © 2006–2019 The Apache Software Foundation. All rights reserved.