Class ProductIndexBuilder
- Namespace
- Dynamicweb.Ecommerce.Indexing
- Assembly
- Dynamicweb.Ecommerce.dll
The class ProductIndexBuilder represents index builder for products
[AddInName("Product Index Builder")]
public class ProductIndexBuilder : IndexBuilderBase, IIndexBuilder, IResumable, IIndexBuilderSchemaUpdater
- Inheritance
-
ProductIndexBuilder
- Implements
- Inherited Members
Properties
BulkSize
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("BulkSize")]
[AddInLabel("Bulk size")]
[AddInParameterEditor(typeof(NumberParameterEditor), "infoText=Default is 500; Explanation=Number of products being built at a time;")]
public int BulkSize { get; set; }
Property Value
DefaultSettings
Gets default settings collection
public override IDictionary<string, object> DefaultSettings { get; }
Property Value
DoNotAnalyzeDefaultFields
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("DoNotAnalyzeDefaultFields")]
[AddInLabel("Do not analyze default fields")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Schema extender fields are not set to analyzed by default;")]
public bool DoNotAnalyzeDefaultFields { get; set; }
Property Value
DoNotFailOnMismatchingProductCount
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("DoNotFailOnMismatchingProductCount")]
[AddInLabel("Do not fail on mismatching product count")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Allows index builds to continue even if the product counts before and after indexing differ, useful during simultaneous data imports;")]
public bool DoNotFailOnMismatchingProductCount { get; set; }
Property Value
DoNotStoreDefaultFields
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("DoNotStoreDefaultFields")]
[AddInLabel("Do not store default fields")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Schema extender fields are not set to stored by default;")]
public bool DoNotStoreDefaultFields { get; set; }
Property Value
EmptyStringReplacement
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("EmptyStringReplacement")]
[AddInLabel("Empty string replacement")]
[AddInParameterEditor(typeof(TextParameterEditor), "Explanation=Specifies a placeholder value to index fields that are empty, ensuring they can be included in search queries;")]
public string EmptyStringReplacement { get; set; }
Property Value
HandleInheritedCategoryValues
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("HandleInheritedCategoryValues")]
[AddInLabel("Handle inherited category values")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Indexes inherit product category values, enhancing search capabilities but with a significant cost of performance;")]
public bool HandleInheritedCategoryValues { get; set; }
Property Value
HoursToUpdate
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("HoursToUpdate")]
[AddInLabel("Hours to update")]
[AddInParameterEditor(typeof(NumberParameterEditor), "Explanation=If combined with the builder action 'Update', only products updated within the hours specified here are rebuilt;")]
public int HoursToUpdate { get; set; }
Property Value
MaxProductsToIndex
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("MaxProductsToIndex")]
[AddInLabel("Max products to index")]
[AddInParameterEditor(typeof(NumberParameterEditor), "")]
public int MaxProductsToIndex { get; set; }
Property Value
OnlyIndexActiveProducts
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("OnlyIndexActiveProducts")]
[AddInLabel("Only index active products")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "")]
public bool OnlyIndexActiveProducts { get; set; }
Property Value
ProductIDs
Gets or sets a list of product ids, which will be updated in the index
public IEnumerable<string> ProductIDs { get; set; }
Property Value
Resume
Gets or sets a value indicating the index opened in insert mode
public bool Resume { get; set; }
Property Value
ShopsToIndex
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("ShopsToIndex")]
[AddInLabel("Shops to index")]
[AddInParameterEditor(typeof(TextParameterEditor), "Explanation=Limits indexing to products from a specified comma-separated list of shop IDs;")]
public string ShopsToIndex { get; set; }
Property Value
SkipAllExtendedFields
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipAllExtendedFields")]
[AddInLabel("Skip all extended fields")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Skips the fields “CampaignStartTime”, “CampaignEndTime”, “CampaignShowProductsAfterExpiration”, “IsVariant”, “ManufacturerName”, “AssortmentIDs” and “StockLocationProductAvailable”;")]
public bool SkipAllExtendedFields { get; set; }
Property Value
SkipAssortments
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipAssortments")]
[AddInLabel("Skip assortment fields")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Assortment fields are not indexed;")]
public bool SkipAssortments { get; set; }
Property Value
SkipBomInfo
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipBomInfo")]
[AddInLabel("Skip item on boms field")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=BOM (Bill of Materials) fields are not indexed;")]
public bool SkipBomInfo { get; set; }
Property Value
SkipCategoryFields
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipCategoryFields")]
[AddInLabel("Skip category fields")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "")]
public bool SkipCategoryFields { get; set; }
Property Value
SkipDataModels
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipDataModels")]
[AddInLabel("Skip DataModel fields")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Data Model fields are not indexed;")]
public bool SkipDataModels { get; set; }
Property Value
SkipDetailImages
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipDetailImages")]
[AddInLabel("Skip detail images")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Detail images are not indexed;")]
public bool SkipDetailImages { get; set; }
Property Value
SkipExtenders
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipExtenders")]
[AddInLabel("Skip extenders")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Prevents custom extenders from adding, updating, or removing fields in the index;")]
public bool SkipExtenders { get; set; }
Property Value
SkipGroupSorting
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipGroupSorting")]
[AddInLabel("Skip group sorting")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Prevents group sorting fields from being indexed. May improve performance;")]
public bool SkipGroupSorting { get; set; }
Property Value
SkipGrouping
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipGrouping")]
[AddInLabel("Skip grouping")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Skips the fields: 'GroupIDs', 'GroupNames', 'GroupNumbers', 'GroupDescriptions', 'PrimaryGroupSort', 'ParentGroupIDs', and 'ParentGroupNames';")]
public bool SkipGrouping { get; set; }
Property Value
SkipImagePatternImages
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipImagePatternImages")]
[AddInLabel("Skip image pattern images")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Image pattern images are not indexed;")]
public bool SkipImagePatternImages { get; set; }
Property Value
SkipImages
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipImages")]
[AddInLabel("Skip images")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Image paths are not indexed;")]
public bool SkipImages { get; set; }
Property Value
SkipOrderhistory
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipOrderhistory")]
[AddInLabel("Skip order history fields")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Order history fields are not indexed;")]
public bool SkipOrderhistory { get; set; }
Property Value
SkipPrices
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipPrices")]
[AddInLabel("Skip prices")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Product prices are not indexed;")]
public bool SkipPrices { get; set; }
Property Value
SkipProductTranslations
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipProductTranslations")]
[AddInLabel("Skip product translations")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Fields related to product translations are not indexed;")]
public bool SkipProductTranslations { get; set; }
Property Value
SkipRelatedProducts
[AddInParameterGroup("Product Index Builder Settings")]
[AddInParameter("SkipRelatedProducts")]
[AddInLabel("Skip related products")]
[AddInParameterEditor(typeof(YesNoParameterEditor), "Explanation=Prevents related products from being indexed;")]
public bool SkipRelatedProducts { get; set; }
Property Value
SupportedActions
Gets the supported actions
public override IEnumerable<string> SupportedActions { get; }
Property Value
Methods
Build(IIndexWriter, Tracker)
Build the index
public override void Build(IIndexWriter writer, Tracker tracker)
Parameters
writer
IIndexWriterAn IIndexWriter instance
tracker
TrackerA Tracker instance
GetFields()
Defines GetFields required operation
public override IEnumerable<FieldDefinitionBase> GetFields()
Returns
UpdateSchema(SchemaDefinition)
Updates the selected schema according to builder settings
public void UpdateSchema(SchemaDefinition schema)
Parameters
schema
SchemaDefinitionSelected schema