Index partitions

Index partitioning is the grouping of object index information into separate indexes based on object property values. For example, for a string partition property such as Origin, all objects that have email as the Origin property value are indexed in the same index. Index partitioning potentially improves full-text search performance by reducing the amount of index information that must be searched. The potential performance gain applies only when the partition property is referenced in the WHERE clause of the CBR query.

Partition properties

A property must satisfy the following requirements to be a partition property:

Also, the settability of the property must be SETTABLE_ONLY_ON_CREATE for all indexable classes that possess the property. Settability is a metadata property on the class property definition. (The settability of the property in the property template can differ.)

A partition property does not have to be a CBR-enabled property.

A maximum of two partition properties can be set for an object store: one date property and one string property.

Index partitioning implementation

An object might belong to a class that does not have all of the partitioning properties that have been defined for the object store. Consequently, an index might be unpartitioned with respect to some or all of the partitioning properties.

For an index area, one index exists for any given partition property set of values unless the status of indexes has changed. For example, suppose that an object has email as the string partition property value and January 1, 2010 as the date partition property value. Originally, only one index can contain an object with those values. If the status of the original index changes, another index might be created for the same partition property set of values. The index status might be manually changed to CLOSED or automatically changed to FULL if a maximum index limit has been specified for the indexes within the index area.

Related reference
For information about using partition properties in a query to improve search performance, see CBR query syntax introduction.

Related concepts
For more information about date partitions, see Index partitioning by date range. For more information about string partitions, see Index partitioning by string value.

Related tasks
For information about partitioning indexes, see Configuring index partitions.