Web Search Configuration

Introduction

Each Web Search is based on an index, which needs to be built before-hand. The content of the search index can be configured in the index configuration which is built using a Export Template.

Each Web Search index is basically a Export Profile based on a search index configuration Export Template.

Tip

If you have any further question, how to configure Web Search, have a look to the HowTo page: Web Search Configuration How to in the HTML package we ship with the software as technical documnetation.

Export Template

Purpose

There is special purpose defined for the Web Search which provides automatic functionalities like adding a search indexing post step.

images/download/attachments/407699589/image2020-2-11_23-0-50.png

Post Step

images/download/attachments/407699589/image2020-2-11_23-2-27.png

Output Files

images/download/attachments/407699589/image2020-2-11_23-8-39.png

images/download/attachments/407699589/image2020-2-11_23-9-55.png

Index Configuration Module

Export Configuration File

Configuration JSON Schema

Entities and Fields

Top level entities are called rootEntities. There can be an array of rootEntities.

Key

Type

Mandatory (M)
Optional (O)

Description

Example

identifier

String

M

Identifier of the entity which is based on ArticleType

Product2G or Variant or Article

parentEntityIdentifier

String

O

Identifier of the entity which is based on ArticleType

In 2PPD index, identifier=Article, parentEntityIdentifier=Product2G

fields

Array

O

Fields of the root entity

subEntities

Array

O

Sub-entities of the root entity

Any sub-level entities of root-level entities are called subEntities.

Key

Type

Mandatory (M)
Optional (O)

Description

Example

identifier

String

M

Identifier of the sub-entity

Product2GLang

fields

Array

O

Fields of the sub-entity

keyValue

Object

O

Object where the data is dynamic key-value pairs.

ArticleAttributes, where the Attribute Name and Attribute Value makes a key-value pair.

Any entity generally contains fields.

Key

Type

Mandatory (M)
Optional (O)

Description

Example

identifier

String

M

Identifier of the field

SupplierAID, DescriptionShort

dataType

String

M

Data type of the field to be used in Elasticsearch

text, keyword

boostFactor

Float

O

Improves scoring

qualifications

Array (String)

M (applicable only inside subEntities)

The logical key values need to be defined here.

If logical keys are of enum type, use the enum code.

For DescriptionShort (English), use

"qualifications": [
"9"
]

searchProperties

Object

M

Defines the different properties like facetable, searchable, sortable, etc.

analyzers

Array

O

If provided, will help to index data in different ways to improve search results and scoring.

Sometimes sub-entity contains keyValue. E.g. ArticleAttributes

Key

Type

Mandatory (M)
Optional (O)

Description

Example

dataType

String

M

Data type of the field to be used in Elasticsearch

text, keyword

boostFactor

Float

O

Improves scoring

searchProperties

Object

M

Defines the different properties like facetable, searchable, sortable, etc.

analyzers

Array

O

If provided, will help to index data in different ways to improve search results and scoring.

The properties present in searchProperties for fields or keyValue.

Key

Type

Description

searchable

Boolean

sortable

Boolean

facetable

Boolean

facetordervalue

Integer

To improve search results and scoring, we can add analyzers for fields or keyValue.

Key

Type

Mandatory (M)
Optional (O)

Description

Example

name

String

M

The name of the analyzer defined in the index settings.

Language analyzers like english, german, french, etc

dataType

String

O

Data type of the field to be used in Elasticsearch.

If not specified, the dataType of the encapsulating object will be used.

text, keyword

boostFactor

Float

O

Improves scoring

If not specified, the boostFactor of the encapsulating object will be used.

Index Settings

Every Elasticsearch index can have its own settings like the analyzers that can be used by fields, how many replicas and shards should be created and maximal number of search results, etc.

Search Settings

These are advanced settings to tweak search process. It is recommended to keep this untouched.

Data Sources

We need to define the data-providers for the export template. Depending on the type of index, the data-providers can vary. The Web Search index data-provider is based on a catalog or an assortment of a catalog.

images/download/attachments/407699589/image2020-2-11_23-50-7.png

If you want to create a cross-catalog search index, i.e. a search index that contains items for multiple supplier catalogs, you can use the corresponding data-providers "Changed and new items (supplier catalogs)" and "Deleted items (supplier catalogs)". There are two alternatives to configure the data-providers, either you define a specific list of catalogs or you choose the option "Use all supplier catalogs". By doing it the second way, all items in new supplier catalogs will be automatically added to the search index.

images/download/attachments/407699589/image2021-11-16_18-22-55.png

Index Data Module

Export Data File

Modules and Sub-modules

Each operation on a root entity needs to have a module.

images/download/attachments/407699589/New_and_changed_items_-_items_only.PNG

At the end of the module, a line break is mandatory.

Each sub-entity needs to be a sub-module with-in the module.

Depending on the logical key selection we can have multiple such sub-modules.

images/download/attachments/407699589/image2020-2-12_12-16-15.png

At the end of the sub-module, a line break should not be added.

Both module and sub-module should have export file.

images/download/attachments/407699589/image2020-2-25_9-57-39.png

Limitation

Note that the Index does currently not support the characteristics data type in the Product 360 data model. This means characteristic values can neither be used as searchable inputs nor to create facets to the search index.

Reconfiguring/updating an index

Any changes or updates to the structure of the index, requires one to drop the existing index from elasticsearch, setup a new export profile and run the export for creating a new index. M ake sure not to execute the export with the same profile twice but set it up initially as scheduled and not touch it manually again. In case, a manual re-trigger is required the same can be done through process overview again and not directly on export profile as this may fire another instance causing a mix up in index generation.

Configuring the language of index

Once an index is created using a "language". This language can't be changed anymore for the index.

It is not recommended to create an index with multiple languages. Each index should work with just 1 language for it's lifetime.

Deleting an index

In order to delete an index, simply delete the full-text search profile which was used to create the corresponding index. Follow the following steps in order to delete a full-text search profile.

  • Right click on the full-text search profile

  • Select Manage export profile...

  • Select the profile from the given list

  • Press Delete and select Ok.