Indexing for the Search service is performed by minions. The minions can index any commerce entity type as long as the supporting blocks and policies are available.
The indexing minions watch specific entity lists. An entity list is a membership list where entities are added (by type) at the time of creation; they are never removed from the list. Customers and Orders are examples of entity lists.
The Search plugin defines three types of indexing minions:
Incremental Index minion
The incremental index minion scans an incremental entity list periodically, and runs a pipeline operation to build and insert documents to be placed in the index.
ListsToWatch parameter specifies the lists that contains the indexable entities. This list name is also referenced in the SearchScopePolicy. A minion can watch multiple lists , for example of a similar entity type. In the following example, a promotion indexing minion is configured to watch an index a list of
"PromotionBooks" and a list of
"Promotions" in support of the search functionality available in the Business Tools.
"$type": "Sitecore.Commerce.Core.MinionPolicy, Sitecore.Commerce.Core", "ListsToWatch": [ "PromotionBooks", "Promotions"
Full Index minion
The full index minion scans a full entity list on demand and runs a pipeline operation to build and insert documents to be placed in the index. If the index does not exist, the minion can create it. The
ListToWatch parameter specifies the list that contains the indexable entities. This list name is also referenced in the SearchScopePolicy.
The full index minion must be initiated manually. The
WakeupInterval parameter must be set to
Delete Index Documents minion
The delete index document minion scans a transient entity list periodically, and runs a pipeline operation to remove documents from an index for entities that have been deleted from the system. The
ListToWatch parameter specifies a transient list name that contains the deleted entities. This list name is also referenced in the SearchScopePolicy.