There are 3 main indexing strategies that the connector supports:
Default. Variant Attributes Roll-up inside their parent product
Index variants separately. Separate documents are created for products and variants
To set up indexing inside your project, you should use the Initialization Modules capability (by implementing the IConfigurableModule
interface) provided by the Optimizely platform and make your module dependent on the BasicHawksearchInitialization
module which is part of the installed connector.
Configure Indexing Services
In the ConfigureContainer
method, register services needed to index different types of content. Available options are:
...
If you don’t intend to index some of the cms or commerce entity type, there’s no need to register those services (e.g. if you don’t have bundles or packages in your project, you should not call the AddHawksearchBundleIndexing
or the AddHawksearchPackageIndexing
methods).
Initialize Indexing Chains
In the Initialize
method, register the 2 chains of Handlers needed for the Full & Incremental Indexing jobs as follows:
...
If you don’t intend to index cms pages, PagesIndexingHandler
,PagesIncrementalIndexingHandler
,PagesDeletionHandler
should not be added to the indexing chains.
[IncludeInHawksearch] Attribute
[IncludeInHawksearch]
is an attribute used to decorate properties which we want to index.
...
This attribute is common for all 3 indexing strategies. For the Variant Attributes Roll-up Strategy, the properties of the variant decorated with this attribute will be rolled-up inside the parent product.
...
To support more types, please refer to this.