The Index Configuration Command-line Utility writes and reads index configuration as JSON. The schema for the JSON file varies depending on whether you retrieve configuration for one owner or more than one owner and whether you restrict the types of configuration that you retrieve.

Types of configuration include:

See the topics and examples below that illustrate the schema for each index configuration type.

You specify an Endeca property or dimension as an attribute in the index configuration file. Each attribute has a jcr:primaryType property with one of the following values:

Properties, dimensions, and precedence rules must be named uniquely across the index configuration. The only exception to this is where you update a property by setting the mergeAction property to UPDATE.

An attribute that is an endeca:property can have the following schema properties:

Name

Data Type

Description

isEnabled

BOOLEAN

Optional. Indicates whether the property is processed by CAS when CAS writes MDEX-compatible output. A value of true includes the property during processing; false excludes the property. This setting is useful when troubleshooting data issues for specific attributes. If omitted, the default value is true.

isRecordFilterable

BOOLEAN

Optional. Indicates whether the property can be used to filter records. Record filtering presents a subset of the data to the end-user. If omitted, the default value is false.

isRecordSearchEnabled

BOOLEAN

Optional. Specifies whether or not record search should be enabled for this property. Record search finds all records in a Guided Search application that are tagged with an Endeca property that matches a term the user provides. You must enable each property that you want available for record search. If omitted, the default value is false.

isRollupKey

BOOLEAN

Optional. Indicates whether the property can be used as a rollup key. This allow aggregated records to be based on this Endeca property. If omitted, the default value is false.

isWildcardEnabledIn RecordSearch

BOOLEAN

Optional. Indicates whether wildcard search is enabled for this Endeca property. Wildcard searching allows user queries that contain a wildcard character (*) to match against fragments of words in a property value. You must enable each property that you want available for wildcard searching. If is set to true, then isRecordSearchEnabled must also be set to true for a property. (Enabling wildcard record search depends on first enabling record search.) If omitted, the default value is false.

mergeAction

STRING

Optional. The mergeAction specifies how to merge the attribute into the index configuration. Valid enumerations are ADD and UPDATE. Specify a value of ADD to merge new attributes that are not already in the system. Specify a value of UPDATE to merge changes to an existing attribute. If omitted, the default value of mergeAction is ADD.

propertyDataType

STRING

Optional. The propertyDataType enumerates the valid values for the data type of an Endeca property. The valid enumerations are ALPHA, INTEGER, DOUBLE, GEOCODE, DATETIME, DURATION, and TIME. Such data types have several uses. Non-alpha properties can be used for range filtering. Temporal properties can be used for record sorting and analytics. If omitted, the default value of propertyDataType is ALPHA.

sourcePropertyNames

STRING (multi-valued)

Optional. Specifies an explicit mapping between one or more source properties and an Endeca property. An Endeca property is populated with data from the source property that it is mapped to. If specified, the sourcePropertyNames value can be empty, single-valued, or multi-valued.

If empty (a zero-length list), no source property is mapped to an Endeca property. This allows you to define an Endeca property but not populate it with any data.

If single-valued, then the source property has its value mapped to the Endeca property.

If multi-valued, then each source property in this list has its value mapped to the Endeca property.

If omitted, the source property has its value mapped to an Endeca property of the same name. In other words, a source property with a name that is identical to an Endeca property is automatically mapped to that Endeca property. This is the default behavior.

An attribute that is an endeca:dimension can have the following schema properties:

Name

Data Type

Description

displayOrder

INTEGER

Optional. Specifies the display order of a dimension relative to other dimensions in refinement results. Dimensions with lower values display before dimensions with higher values. Valid values are integers between 0 and 2147483647. If omitted, the dimension displays lower than dimensions with specified display orders. If dimensions have the same display order value (a tie), the dimensions are ordered alphabetically by dimension name.

isAutogen

BOOLEAN

Optional. Specifies whether the dimension values for a dimension are automatically generated during a CAS crawl. A value of true generates dimension values for a dimension. If omitted, the default value is false. (An error results if you set this to true and also specify dimension values for the dimension.)

isEnabled

BOOLEAN

Optional. Indicates whether the dimension is processed by CAS when CAS writes MDEX-compatible output. A value of true includes the dimension during processing; false excludes the dimension. This setting is useful when troubleshooting data issues for specific attributes.

isHierarchicalDimension SearchEnabled

BOOLEAN

Optional. Specifies whether a dimension search also considers ancestor dimension values in this dimension when matching a dimension search query. If omitted, the default value is false.

isHierarchicalRecord SearchEnabled

BOOLEAN

Optional. Specifies whether a record search also considers ancestor dimension values in this dimension when matching a record search query.

If isHierarchicalRecordSearchEnabled is set to true, then isRecordSearchEnabled must also be set to true for a dimension. (Enabling hierarchical search depends on first enabling record search.) If omitted, the default value of isHierarchicalRecordSearchEnabled is set to the value of isRecordSearchEnabled.

isRecordSearchEnabled

BOOLEAN

Optional. Specifies whether or not record search should be enabled for this dimension. Record search finds all records in a Guided Search application that are tagged with a dimension value that matches a term the user provides. You must enable each property that you want available for record search. If omitted, the default value is false.

isWildcardEnabledIn RecordSearch

BOOLEAN

Optional. Indicates whether wildcard search is enabled for this dimension. Wildcard searching allows user queries that contain a wildcard character (*) to match against fragments of words in a dimension. You must enable each dimension that you want available for wildcard searching.

If isWildcardEnabledInRecordSearch is set to true, then isRecordSearchEnabled must also be set to true for a dimension. (Enabling wildcard dimension search depends on first enabling dimension search.) If omitted, the default value is false.

mergeAction

STRING

Optional. The mergeAction specifies how to merge the attribute into the index configuration. Valid enumerations are ADD and UPDATE. Specify a value of ADD to merge new attributes that are not already in the system. Specify a value of UPDATE to merge changes to an existing attribute. If omitted, the default value of mergeAction is ADD.

multiSelectType

STRING

Optional. The multiSelectType enumerates the valid values for specifying multiselect dimensions. When AND is specified on a dimension, the MDEX Engine returns all records from all the select dimension values. The result set is expanded with each additional dimension value that a user selects. The OR enumeration returns the records from one selected dimension value. The result set is reduced with each dimension value that a user selects. The valid enumerations are NONE, OR, and AND.

rangeComparisonType

STRING

Optional. The rangeComparisonType enumerates the types that can be used to map source properties to dimension values that represent ranges. The valid enumerations are STRING, INTEGER, and FLOAT.

sourcePropertyNames

STRING (multi-valued)

Optional. Specifies an explicit mapping between one or more source properties and an Endeca dimension. A dimension is populated with data from the source property that it is mapped to. If specified, the sourcePropertyNames value can be empty, single-valued, or multi-valued.

If empty (a zero-length list), no source property is mapped to a dimension. This allows you to define a dimension but not populate it with any data. This is useful when creating trigger dimension values for content spotlighting cartridges.

If single-valued, then the source property has its value mapped to the Endeca dimension.

If multi-valued, then each source property in this list has its value mapped to the Endeca dimension.

If omitted, the source property has its value mapped to an Endeca dimension of the same name. In other words, a source property with a name that is identical to a dimension is automatically mapped to that dimension. This is the default behavior.

In this example, the utility returns index configuration for the system owner. The configuration in this case is made up of attributes and global index configuration settings:

{
  "indexConfig" : {
    "system" : {
      "attributes" : {
        "product.price" : {
          "propertyDataType" : "DOUBLE",
          "jcr:primaryType" : "endeca:property"
        },
        "product.brand.name" : {
          "isRecordSearchEnabled" : true,
          "isAutogen" : true,
          "jcr:primaryType" : "endeca:dimension",
          "multiSelectType" : "OR"
        },
        "product.review.count" : {
          "propertyDataType" : "INTEGER",
          "jcr:primaryType" : "endeca:property"
        },
        "product.sku" : {
          "isRecordSearchEnabled" : true,
          "propertyDataType" : "ALPHA",
          "jcr:primaryType" : "endeca:property"
        },
        "product.id" : {
          "isRecordFilterable" : true,
          "isRecordSearchEnabled" : true,
          "propertyDataType" : "ALPHA",
          "jcr:primaryType" : "endeca:property"
        },
        "camera.color" : {
          "sourcePropertyNames" : [ "camera.Colour of product" ],
          "isAutogen" : true,
          "jcr:primaryType" : "endeca:dimension"
        },
        "product.category" : {
          "sourcePropertyNames" : [ "product.category_id" ],
          "isRecordSearchEnabled" : true,
          "jcr:primaryType" : "endeca:dimension"
        },
        "product.name" : {
          "isRecordSearchEnabled" : true,
          "propertyDataType" : "ALPHA",
          "jcr:primaryType" : "endeca:property"
        },
        "product.features" : {
          "isAutogen" : true,
          "jcr:primaryType" : "endeca:dimension",
          "multiSelectType" : "AND"
        },
        "product.min_price" : {
          "derivedPropertySource" : "product.price",
          "derivedPropertyFunction" : "MIN",
          "jcr:primaryType" : "endeca:derivedProperty"
        },
        "product.price_range" : {
          "sourcePropertyNames" : [ "product.price" ],
          "rangeComparisonType" : "FLOAT",
          "jcr:primaryType" : "endeca:dimension"
        },
        "common.id" : {
          "isRecordFilterable" : true,
          "propertyDataType" : "ALPHA",
          "jcr:primaryType" : "endeca:property"
        },
       ...
      },
      "precedenceRules" : {
      },
      "searchIndexConfig" : {
        "spellingDictMinNumWordOccurrences" : 4,
        "spellingDictMaxWordLength" : 16,
        "isWildcardEnabledInDimensionSearch" : true,
        "spellingDictMinWordLength" : 3
      }
    }
  }
}

You specify a precedence rule in the precedenceRules node of the index configuration file. The precedenceRules node is a sibling of the attributes node.

Each node representing a precedence rule under precedenceRules can have the following schema properties:

You specify search configuration in the searchIndexConfig node of the index configuration file. In this release, the settings control spelling dictionary configuration and wildcard search. The searchIndexConfig node is a sibling of the attributes and precedenceRules nodes.


Copyright © Legal Notices