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 |
---|---|---|
|
BOOLEAN |
Optional. Indicates whether the property is
processed by CAS when CAS writes MDEX-compatible output. A value of
|
|
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
|
|
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
|
|
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
|
|
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
|
|
STRING |
Optional. The
|
|
STRING |
Optional. The
|
|
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
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:derivedProperty
can have the following schema
properties:
Name |
Data Type |
Description |
---|---|---|
|
STRING |
Required. The
|
|
STRING |
Required. Specifies the Endeca property from which the derived property is calculated. |
|
BOOLEAN |
Optional. Indicates whether the property is
processed by CAS when CAS writes MDEX-compatible output. A value of
|
|
STRING |
Optional. The
|
An
attribute
that is an
endeca:dimension
can have the following schema
properties:
Name |
Data Type |
Description |
---|---|---|
|
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. |
|
BOOLEAN |
Optional. Specifies whether the dimension
values for a dimension are automatically generated during a CAS crawl. A value
of
|
|
BOOLEAN |
Optional. Indicates whether the dimension
is processed by CAS when CAS writes MDEX-compatible output. A value of
|
|
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
|
|
BOOLEAN |
Optional. Specifies whether a record search also considers ancestor dimension values in this dimension when matching a record search query. If
|
|
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
|
|
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
|
|
STRING |
Optional. The
|
|
STRING |
Optional. The
|
|
STRING |
Optional. The
|
|
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
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:
Name |
Data Type |
Description |
---|---|---|
|
BOOLEAN |
Optional. Indicates whether the precedence
rule is processed by CAS when CAS writes MDEX-compatible output. A value of
|
|
BOOLEAN |
Optional. Specifies a Boolean to indicate
if the trigger is a leaf trigger or not. If set to
|
|
STRING |
Optional. The
|
|
STRING |
Required. Specifies the trigger dimension for a precedence rule. Recall that a user's selection of the trigger dimension reveals the previously unavailable target dimension to the user. |
|
STRING |
Optional. Specifies the dimension value
specification of the
|
|
STRING |
Required. Specifies the target dimension for a precedence rule. |
In this example, the utility returns index configuration from one
owner, named
ATG
, and the
precedenceRules
configuration type.
C:\Endeca\apps\Discover\control>index_config_cmd.bat get-config -o ATG -t precedenceRules [07.26.12 12:57:19] INFO: Using site Discover at URL http://JSMITH-WIN7:8006/ ifcr with username admin
The output contains a
precedenceRules
root node, because that was the
specified configuration type, and then child nodes for two precedence rules:
{ "precedenceRules" : { "aspectRatioDigitalCamerasRule" : { "targetDimension" : "camera.aspect_ratio", "triggerDimensionValueSpec" : "575", "triggerDimension" : "product.category", "isLeafTrigger" : false }, "digitalZoomDigitalCamerasRule" : { "targetDimension" : "camera.digital_zoom", "triggerDimensionValueSpec" : "575", "triggerDimension" : "product.category", "isLeafTrigger" : false } ... } }
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.
Each property under
searchIndexConfig
represents an index configuration
setting. The following properties are available:
Name |
Data Type |
Description |
---|---|---|
|
LONG |
Optional. Specifies the minimum number of
times the word must appear in the source data before the word should be
included in the spelling dictionary. This setting applies to record search
only. If omitted, the default value is
For dimension search, this setting is always set to
|
|
LONG |
Optional. Specifies the maximum length of a
word that should be included in the spelling dictionary. Words longer than this
value are excluded. This setting applies to both dimension search and record
search. If omitted, the default value is
|
|
BOOLEAN |
Optional. Specifies a Boolean to indicate
that a query can contain a wildcard character (*) to match against fragments of
words in a dimension value. If omitted, the default value is
|
|
LONG |
Optional. Specifies the minimum character
length for a word to be included in the spelling dictionary. This setting
applies to both dimension search and record search. If omitted, the default
value is
|
In this example, the utility returns index configuration for the
system
owner. The index configuration is restricted to
only the
searchIndexConfig
type.
C:\Endeca\apps\Discover\control>index_config_cmd.bat get-config -o system -t searchIndexConfig [07.26.12 12:57:19] INFO: Using site Discover at URL http://JSMITH-WIN7:8006/ ifcr with username admin
The output contains a
searchIndexConfig
root node, because that was the
specified configuration type, and then properties for each configuration
setting:
{ "searchIndexConfig" : { "spellingDictMinNumWordOccurrences" : 4, "spellingDictMaxWordLength" : 16, "isWildcardEnabledInDimensionSearch" : true, "spellingDictMinWordLength" : 3 } }