Ingest Product index schema
The complete data mappings from specification, database and schema are shown for the product category.
Product index schema design
Definitions for field type aliases (in italics) are described in Index Field Type Aliases and Usages page. For a complete listing of Elasticsearch index fields and parameters, see Elasticsearch index field types. For information about calling the Ingest service, see Search Ingest Service API.
Index Field Name | Index Field Type and Options | V9.0 Equivalent Index Field Name | Description |
---|---|---|---|
Internal Meta Data | |||
_id | internal | catentry_id | id/store + id/language + id/catalog + id/catentry |
__meta/version/min | integer | - | Minimal compatible version of the runtime to work with this document |
__meta/version/max | integer | - | Latest compatible version of the runtime that works with this document |
__meta/created | date | - | Creation date and time of this document |
__meta/modified | date | indexedTime | Last modification date and time of this document |
Document Identifier | |||
id/store | id_string | storeent_id | Internal id of the owning store |
id/language | id_string | - | The identifier of the language |
id/catalog | id_string | catalog_id | Catentry's parent catalog |
id/catentry | id_string | catentry_id | Catentry's basic attributes |
id/member | id_string | member_id | The reference number that identifies the owner of the catalog entry |
identifier/specification | id_string | - | Set to "product" |
identifier/store | id_string | - | A string that uniquely identifies the owning store |
identifier/language | id_string | - | The language locale of this catalog entry |
identifier/catalog | id_string | - | The external identifier of the catalog |
identifier/sku/raw | raw | - | This is the SKU of the catalog entry |
identifier/sku/normalized | normalilzed | - | Same as above |
identifier/mpn/raw | raw | mfPartNumber_ntk | The reference number that identifies the manufacturer part number of the catalog entry |
identifier/mpn/normalized | normalilzed | - | Same as above |
Language Sensitive Data | |||
name/raw | raw | name_ntk_cs | The language-dependent name of this catalog entry |
name/normalized | normalized | name_ntk | Same as above |
name/text | text | - | Same as above |
name/en_US, fr_FR, de_DE, it_IT, es_ES, pt_BR, ru_RU, ro_RO, ar_EU, ja_JP, ko_KR | english, french, german, italian, spanish, portuguese, russian, romanian, arabic, japanese, korean | name | Same as above |
name/override/raw | raw | nameOverride | The store level override for name of this catalog entiry |
name/override/normalized | normalized | - | Same as above |
name/override/text | text | - | Same as above |
name/override/en_US, fr_FR, de_DE, it_IT, es_ES, pt_BR, ru_RU, ro_RO, ar_EU, ja_JP, ko_KR | english, french, german, italian, spanish, portuguese, russian, romanian, arabic, japanese, korean | - | Same as above |
keyword/text | text | - | A keyword used for searching |
keyword/en_US, fr_FR, de_DE, it_IT, es_ES, pt_BR, ru_RU, ro_RO, ar_EU, ja_JP, ko_KR | english, french, german, italian, spanish, portuguese, russian, romanian, arabic, japanese, korean | keyword | Same as above |
keyword/override/text | raw | keywordOverride | The store level override for short description of this catalog entiry |
keyword/override/en_US, fr_FR, de_DE, it_IT, es_ES, pt_BR, ru_RU, ro_RO, ar_EU, ja_JP, ko_KR | english, french, german, italian, spanish, portuguese, russian, romanian, arabic, japanese, korean | - | Same as above |
description/raw | raw | - | A short description of this catalog entry |
description/text | text | - | Same as above |
description/en_US, fr_FR, de_DE, it_IT, es_ES, pt_BR, ru_RU, ro_RO, ar_EU, ja_JP, ko_KR | english, french, german, italian, spanish, portuguese, russian, romanian, arabic, japanese, korean | shortDescription | Same as above |
description/override/raw | raw | shortDescriptionOverride | The store level override for short description of this catalog entiry |
description/override/text | text | - | Same as above |
description/override/en_US, fr_FR, de_DE, it_IT, es_ES, pt_BR, ru_RU, ro_RO, ar_EU, ja_JP, ko_KR | english, french, german, italian, spanish, portuguese, russian, romanian, arabic, japanese, korean | - | Same as above |
url/thumbnail | raw | thumbnail | The thumbnail image path of this catalog entry |
url/image | raw | fullImage | The full image path of this catalog entry |
url/seo | raw | - | The SEO URL of this catalog entry |
url/override/thumbnail | raw | | The store level override for thumbnail image path of this catalog entry |
url/override/image | raw | | The store level override for full image path of this catalog entry |
Properties | |||
manufacturer/raw | raw | mfName_ntk_cs | The name of the manufacturer of this catalog entry |
manufacturer/normalized | normalized | mfName_ntk | Same as above |
manufacturer/text | text | mfName | Same as above |
seller/raw | raw | - | The name of the seller of this catalog entry |
seller/normalized | normalized | - | Same as above |
seller/text | text | - | Same as above |
type | id_string | catenttype_id_ntk_cs | product, item, package, bundle |
buyable | boolean | buyable | Indicates whether this catalog entry can be purchased individually |
displayable | boolean | published | Indicates whether this catalog entry should be displayed for the language |
start | date | startdate | The date when this catalog entry is introduced |
end | date | enddate | The date when this catalog entry is withdrawn |
state | boolean | - | This flag defines whether this entry can be used as Product Variant |
subscription/type | raw | subscripType | The type of the subscription this catalog entry can be subscribed to |
subscription/recurring | boolean | disallowRecOrder | Indicates whether this catalog entry is prohibited from being purchased through recurring order. Default value is true. |
Navigational Data | |||
relationship/name | raw | - | One way relationship. Supported values: product, item, package, bundle, variant |
relationship/product/id | id_string | parentCatentry_id | Catentry's parent product |
relationship/product/sequence | float | item_sequence | Catentry's display sequence |
relationship/product/group | id_string | grouping_parentCatentry_id | Used for result grouping of items belonging to the same product |
relationship/variant/id | id_string | parentVariant_id | Variant's parent product |
relationship/variant/sequence | float | - | Variant's display sequence |
relationship/item/id | id_string | childCatentry_id | Catentry's child catentry |
relationship/item/sequence | float | - | Catentry's display sequence |
relationship/set | id_string | productset_id | A list of product sets that this catentry has participated in |
relationship/component/id | id_string | components | A list of identifiers for components of bundle's and packages |
relationship/component/quantity | float | components | The quantity of each of the components above |
category/catalogId-pathId/name | normalized | categoryname | The name of this parent sales category (see below)catalogId - master or default catalog IdpathId - hypen separated category path Ids leading up to root category |
category/catalogId-pathId/catalog | id_string | - | The sales catalog of this current document used for sequence (see below)catalogId - master or default catalog IdpathId - hypen separated category path Ids leading up to root category |
category/catalogId-pathId/parent | id_string | - | The parent category of this current document used for sequence (see below)catalogId - master or default catalog IdpathId - hypen separated category path Ids leading up to root category |
category/catalogId-pathId/sequence | float | sequence_* | The leaf category level (shallow) sequence defined in CMCcatalogId - master or default catalog IdpathId - hypen separated category path Ids leading up to root category |
category/catalogId-pathId/path/id | id_string | - | A list of category internal ids leading up to the root categorycatalogId - master or default catalog IdpathId - hypen separated category path Ids leading up to root category |
category/catalogIdvarname>-pathId/path/name | raw | - | Similar list of categories leading up to the root, except this field stores the name of the category insteadcatalogId - master or default catalog IdpathId - hypen separated category path Ids leading up to root category |
path/catalogId> | raw | parentCatgroup_id_facet, parentCatgroup_id_search, parentCatgroup_id_path | For example, when a "dress" category (id:10001) with path "/1/3/10001" is indexed for sales catalog 10502, this field stores the original form of the pathcatalogId - master or default catalog Id |
path/catalogId/tree | hierarchy | - | This is the tokenized version for the path field above, e.g. 1, 3, 10001catalogId - master or default catalog Id |
path_name/catalogId | hierarchy | | Category hierarchy leading up to root category |
Prices | |||
prices/list/currency | float | price_* | Default contract list price in a given currency |
prices/offer/currency | float | price_* | Default contract offer price in a given currency |
prices/contract/currency> | float | price_* | A buyer contract price in a given currency |
Natural Language | |||
natural/nouns/raw | raw | - | This field contains nouns extracted from indexed fields in this current document for use with Natural Language search |
natural/nouns/normalized | normalized | - | Same as above |
natural/adjectives/raw | raw | - | This field contains all non-numeric values from searchable atttributes of the current document |
natural/adjectives/normalized | normalized | - | Same as above |
natural/names/raw | raw | - | This field contains names extracted from the current document using the Stanford name-entity-extractor |
natural/names/normalized | normalized | - | Same as above |
natural/categories/raw | raw | - | This field contains a list of normalized category names copied from category/name field |
natural/categories/normalized | normalized | - | Same as above |
natural/attribute_type/colors/red | range | - | This is the MatchMaker specific field for handling color.Attribute type can be either defining or descriptive |
natural/attribute_type/colors/green | range | - | Same as above |
natural/attribute_type/colors/blue | range | - | Same as above |
natural/attribute_type/measurements/<unit_of_measure> | range | - | This is the MatchMaker specific fields for handling measurements. The followng are the supported unit of measures:- Length - kilometer, meter, centimeter, millimeter, micrometer, nanometer, foot, inch, mile, yard- Weight - metric tonne, kilogram, gram, milligram, stone, pound, ounce- Time - nanosecond, microsecond, millisecond, second, minute, hour, day, week, month, year- Volume - gallon, liter, milliliter Attribute type can be either defining or descriptive |
natural/attribute_type/dimensions/width/unit_of_measure | range | - | This is the MatchMaker specific fields for handling dimension. The followng are the supported unit of measures:- kilometer, meter, centimeter, millimeter, micrometer, nanometer, foot, inch, mile, yardAttribute type can be either defining or descriptive |
natural/attribute_type/dimensions/length/unit_of_measure | range | - | Same as above |
natural/attribute_type/dimensions/height/unit_of_measure | range | - | Same as above |
natural/keywords/normalized | normalized | - | This field contains keywords extracted from indexed fields in this current document for use with Natural Language search. |
natural/path_name/normalized | normalized | - | This field contains the normalized format of the full category path names. |
natural/locations/raw | raw | - | This field contains any location specific name extracted by the Stanford part-of-speech tagger |
natural/locations/normalized | normalized | - | Same as above |
natural/intents/raw | raw | - | This field contains potential intents that can be used for matching with shopper's intent at query time |
natural/intents/normalized | normalized | - | Same as above |
Merchandising Associations | |||
associations/id | id_string | - | The catalog entry id of the target of this merchandising association; mapped to MASSOCCECE.CATENTRY_ID_FROM |
associations/type | id_string | - | The identifier of the merchandising association type; mapped to MASSOCCECE.MASSOCTYPE_ID |
associations/rank | float | - | The sequence number used for display order; mapped to MASSOCCECE.RANK |
associations/quantity | float | - | The quantity related to this association; mapped to MASSOCCECE.QUANTITY |
Attributes | |||
attribute/identifier | id_string | - | The external identifier of the attribute; mapped to ATTR.IDENTIFIER |
attribute/id | id_string | - | The internal identifier of the attribute; mapped to ATTR.ATTR_ID |
attribute/usage | raw | - | Defines the usage of the attribute; mapped to ATTR.ATTRUSAGE |
attribute/value/raw | raw | - | The string value of this attribute value; mapped to ATTRVALDESC.STRINGVALUE, ATTRVALDESC.FLOATVALUE, or INTEGERVALUE |
attribute/value/normalized | normalized | - | Same as above |
attribute/source | raw | - | This is a special index document field which contains another sub-document that provides more detailed information regarding this attribute. The description of each encoded field and value are listed immediately below. |
attribute/source: sequence | float | - | The display order of attributes in an attribute group or in the root of the attribute dictionary; mapped to ATTR.SEQUENCE |
attribute/source: group | raw | - | Defines the group name of the attribute; mapped to ATTRDESC.GROUPNAME |
attribute/source: name/raw | raw | - | The name of this attribute; mapped to ATTRDESC.NAME |
attribute/source: name/text | text | - | Same as above |
attribute/source: name/normalized | normalized | - | Same as above |
attribute/source: value/identifier | id_string | - | The external identifier for this attribute value; mapped to ATTRVAL.IDENTIFIER |
attribute/source: value/id | id_string | - | The internal unique id for this attribute value; mapped to ATTRVAL.ATTRVAL_ID |
attribute/source: value/raw | raw | - | The string value of this attribute value; mapped to ATTRVALDESC.STRINGVALUE, ATTRVALDESC.FLOATVALUE, or INTEGERVALUE |
attribute/source: value/sequence | float | - | A number that determines the display order of a list of allowable attribute values for this attribute; mapped to ATTRVALDESC.SEQUENCE |
attribute/source: value/unit/identifier | id_string | - | The unit of measure identifier in which this attribute is measured; mapped to ATTRVALDESC.QTYUNIT_ID |
attribute/source: value/unit/name/raw | raw | - | The description of the quantity unit; mapped to QTYUNITDSC.DESCRIPTION |
Facets | |||
facets/<id>/value/normalized | normalized | - | The string value of a facetable attribute value |
facets/<id>/value/raw | raw | - | Same as above |
Attachments | |||
attachments/id | id_string | - | The internal identifier of the attachement asset |
attachments/identifier | id_string | - | The identifier of the attachment object type |
attachments/store | id_string | - | The owning store of the attachment object |
attachments/name/raw | raw | - | The language-dependent name for the attachment relation |
attachments/description/raw | raw | - | The short description for the attachment relation |
attachments/url | raw | - | The attachment asset path is the relative path of the attachment asset which includes the directory path and the file name of the attachment asset |
attachments/mime | normalized | - | The MIME type encoding of the attachment asset |
attachments/sequence | float | - | The sequence number for displaying the attachment relation |
attachments/rule | raw | - | The attachment relation usage identifier that describes the usage of this attachment relation |
Images | |||
images/sequence | float | - | The sequence number for displaying the angle image attachment |
images/image | id_string | - | The angle image attachment asset path is the relative path which includes the directory path and the file name of the angle image attachment |
images/thumbnail | id_string | - | Same as above |
images/name | id_string | - | The language-dependent name for the angle image attachment |
Auto-Completion and Spell Correction | |||
default/correction | text | spellCheck*, spellCorrection | Use term suggester on this field at query time to provide term based spell correction function. Reason of having a separate dedicated field for term suggestion is to allow different terms to be suggested. Re-using the default search field cannot provide this level of fine grain control. By default, only name, description, and keyword are copied into this field. |
default/completion | completion | defaultTerms ,defaultSuggest, term_suggest, name_suggest, shortDesc_suggest, partNumber_suggest | By feeding a list of all possible completions, and the completion suggester builds them into a finite state transducer, an optimized data structure that resembles a big graph. To search for suggestions, Elasticsearch starts at the beginning of the graph and moves character by character along the matching path. Once it has run out of user input, it looks at all possible endings of the current path to produce a list of suggestions. This data structure lives in memory and makes prefix lookups extremely fast, much faster than any term-based query could be. It is an excellent match for autocompletion of names and brands, whose words are usually organized in a common order. When word order is less predictable, edge n-grams (search_as_you_type) can be a better solution than the completion suggester. By default, only name, description, and keyword are copied into this field. |
default/suggestion | search_as_you_type | defaultTerms, defaultSuggest, term_suggest, name_suggest, shortDesc_suggest, partNumber_suggest | The search_as_you_type field type is a text-like field that is optimized to provide queries that serve an as-you-type completion use case. It creates a series of (n-gram) subfields that are analyzed to index terms that can be efficiently matched by a query that partially matches the entire indexed text value. Both prefix completion (i.e matching terms starting at the beginning of the input) and infix completion (i.e. matching terms at any position within the input) are supported. By default, only name, description, and keyword are copied into this field. |
Default | |||
default/search/text | text | defaultSearch | A convenient field for performing text search with the standard analyzer. Data is pre-configured to be copied into this field: name, description, keyword, category name, and certain searchable attribute valuesNote that manufacturer and sku cannot be copied into this field as the brand name and part number will be tokenized and generate unnecessary false hits |
default/search/en_US, fr_FR, de_DE, it_IT, es_ES, pt_BR, ru_RU, ro_RO, ar_EU, ja_JP, ko_KR | english, french, german, italian, spanish, portuguese, russian, romanian, arabic, japanese, korean | - | By default, all fields that ends with *.en_US, *.fr_FR, etc, will be copied to their corresponding search/* language specific tokenized field |
default/search/normalized | normalized | - | Same as the above default search field, except the data type here is normalized. Data pre-configured is also the same as search.text, plus manufacturer and sku |
default/attachment/text | text | - | Same as the above default search field for text searching, except this field is only scope to name and description of attachments. |
Workspace Data | | ||
workspace_name | id_string | | Describes name of the workspace. If approvedcontent then it will be "Base" |
workspaces | id_string | | List of workspace details. |
Dynamic Template Name | Template Definition | V9.0 Equivalent Index Field Name | Description |
---|---|---|---|
Attributes | match_mapping_type: *path_match: attributes.*mapping:
type: id_string fields: number: float date: date raw: raw normalized: normalized text: text en_US, fr_FR, de_DE, it_IT, es_ES, pt_BR, ru_RU, ro_RO, ar_EG, ja_JP, ko_KO |
adi_f*adf_f*ads_f* | Catentry's attribute dictionary attributes: map to tables in attribute dictionary |
Prices | match_mapping_type: *path_match: prices.*mapping:
type: float |
listprice_*price_* | List prices; mapped to table LISTPRICEContracted price or standard offer price; mapped to table |
Inventories | match_mapping_type: *path_match:
inventories.*mapping:
type: integer |
inv_strlocqty_* | Inventory counts; mapped to table INVENTORY |
Sequences and Metrics | match_mapping_type: *path_match: sequences.*mapping:
type: float |
sequence_* | Dynamic field to represent CMC (leaf category level) shallow sequencing |
Natural | match_mapping_type: * path_match: natural.*mapping:
type: double_range fields: measurements: double_range colors: double_range width: double_range length: double_range height: double_range |
NA | Natural field mapping for NLP searching |
Category | match_mapping_type: * path_match: category.*
mapping:
type: keyword, float fields: parent: keyword sequence: float catalog: keyword name: keyword path.id: keyword path.name: keyword |
category.* | Category field which contains information about parent and path leading to that category. |