Indexer Feeds

There are five indexer feeds used in the Search microservice:

The following sections explain the above indexers in detail.

Merchandising Admin Indexer

Merchandising Admin Indexer indexes the data required for the Merchandising Admin. In the Merchandising Admin console, an admin user can search for the products by providing complex rule. The rule is used to map the products to a category. The Merchandising Admin Indexer supports that search. This indexer will get the product and SKU information from the associated catalog. It will get only the default price of the SKUs, it will not check for any scheduled prices. It will not also check the inventory of the SKUs. Based on the attributes such as filterable, searchable, and sortable, all the products and SKUs will be indexed in SOLR.

Storefront Catalog Indexer

Storefront Catalog Indexer indexes the required Catalog, Pricing, and Inventory data to a Storefront. This indexer handles the data from Catalog, Pricing, and Inventory services. It is further classified into two parts:

Storefront Catalog Index Publisher

This feed gets the product and SKU information from the catalog of the given Catalog ID. Then, based on the start time and end time, delayed messages will be published to the queue. This feed checks the last run time of the feed:

  • If there is no last feed runtime found, then it will publish a message to index data from the start time (zero time) to the end time (current time + feed interval time).
  • If the last feed runtime is found, then it will publish a message to index the data from the start time (last feed start time + feed interval) to the end time (current time + feed interval).

The feed interval is specified in hours. If a product needs to be started in the next hour from the indexer feed start time, then a delayed message of one hour will be published to queue.

Storefront Catalog Index Listener

This feed runs for every feed repeat interval time. This time is specified in seconds. It gets active messages from the queue. The message contains the product ID or SKU ID. Based on the ID retrieved from the message, the corresponding data will be loaded from the Catalog database. Finally, the inventory information will be retrieved from the Inventory DB. Based on the collected information, the SOLR document will be prepared and updated to SOLR.

Storefront Merchandising Indexer

Storefront Merchandising Indexer indexes the required Merchandising data to a Storefront. This indexer handles the data from Merchandising alone such as category and navigation milestones. This indexer is further classified into two parts:

Storefront Merchandising Index Publisher

This feed gets the category and navigation information from the Merchandising database. Then, based on the start time and end time, delayed messages will be published to the queue. This feed checks the last run time of the feed:

  • If there is no last feed runtime found, then it will publish a message to index data from the start time (zero time) to the end time (current time + feed interval time).
  • If the last feed runtime is found, then it will publish a message to index the data from the start time (last feed start time + feed interval) to the end time (current time + feed interval).

The feed interval is specified in hours. If a category needs to be started in the next hour from the indexer feed start time, then a delayed message of one hour will be published to queue.

Storefront Merchandising Index Listener

This feed runs for every feed repeat interval time. This time is specified in seconds. It gets active messages from the queue. The message contains the category ID. Based on the ID retrieved from the message, the corresponding category or navigation milestone will be loaded from the Merchandising DB. Based on the navigation milestone hierarchy of the category, rules will be formed and the SOLR document will be prepared and updated to SOLR.

B2B Catalog Indexer

B2B Catalog Indexer indexes the required Catalog and Inventory data to a B2B Storefront. It retrieves the product and SKU information from multiple catalogs, which are associated with the given Collection ID of the Account microservice. This indexer handles the data from the Catalog and Inventory. It is further classified into two parts:

Note: Set the value of the flag skipPrice to true, to skip the price data validation done by the B2B Pricing Indexer.

B2B Catalog Index Publisher

This feed gets the product and SKU information from the multiple catalogs based on the given Collection ID of the Account microservice. Then, based on the start time and end time, delayed messages will be published to the queue. This feed checks the last run time of the feed:

  • If there is no last feed runtime found, then it will publish a message to index data from the start time (zero time) to the end time (current time + feed interval time). 
  • If the last feed runtime is found, then it will publish a message to index the data from the start time (last feed start time + feed interval) to the end time (current time + feed interval).

The feed interval is specified in hours. If a product needs to be started in the next hour from the indexer feed start time, then a delayed message of one hour will be published to the queue.

B2B Catalog Index Listener

This feed runs for every feed repeat interval time. This time is specified in seconds. It gets active messages from the queue. The message contains the product ID or SKU ID. Based on the ID retrieved from the message, the corresponding data will be loaded from the Catalog database. Finally, the inventory information will be retrieved from the Inventory DB. Based on the collected information, the SOLR document will be prepared and updated to SOLR.

B2B Pricing Indexer

B2B Pricing Indexer indexes the required Pricing data to a B2B Storefront. This feed retrieves the pricing data of a Price List, which are associated with the given Collection ID of the Account microservice. It is further classified into two parts:

B2B Pricing Index Publisher

This feed gets the pricing data of a price list from the Pricing database based on the given Collection ID of the Account microservice. Then, based on the start time and end time, delayed messages will be published to the queue. This feed checks the last run time of the feed:

  • If there is no last feed runtime found, then it will publish a message to index data from the start time (zero time) to the end time (current time + feed interval time). 
  • If the last feed runtime is found, then it will publish a message to index the data from the start time (last feed start time + feed interval) to the end time (current time + feed interval).

The feed interval is specified in hours. If a pricing list needs to be started in the next hour from the indexer feed start time, then a delayed message of one hour will be published to the queue.

B2B Pricing Index Listener

This feed runs for every feed repeat interval time. This time is specified in seconds. It gets active messages from the queue. The message contains the SKU ID. Based on the ID retrieved from the message, the corresponding pricing data will be loaded from the Pricing database. Based on the collected information, the SOLR document will be prepared and updated to SOLR.

 

Note: For detailed information about Feeds microservice, see here.

 


Revision History
2020-03-03 | AN – Content updated for April 2020 release.
2019-10-31 | AN – Content updated for November 2019 release.
2019-04-25 | AN – Content updated for April 2019 release.
2019-01-23 | PLK – Page added and content uploaded.