Indexing
Attributes
10min
json api klevu magento v4 uses the klevu data indexing json api which requires the registering of any custom attributes before entity data can be sent to klevu for those attributes standard vs custom attributes klevu has a set of standard attributes that already exist for your account at the time of writing those attributes are 'additionaldatatoreturn' 'category' 'currency' 'description' 'id' 'image' 'imagehover' 'instock' 'itemgroupid' 'listcategory' 'name' 'price' 'rating' 'ratingcount' 'saleprice' 'shortdescription' 'sku' 'startprice' 'swatchinfo' 'tags' 'toprice' 'url' 'visibility' these standard attributes are immutable and therefore their settings can not be changed it is also possible for merchants to register custom attributes with klevu this registration is handled via the register with klevu setting on the attribute database upon installation, the klevu module will create a database table klevu indexing attribute to maintain the status of all attributes this database is automatically populated via attribute discovery after account integration this database table is updated whenever relevant attribute data is changed e g a name change or an attribute is made searchable these changes will update the next action column the next action will be set to either , add , delete or update this column defines what action will take place during the next sync admin attribute settings when editing any attribute in the admin you will find a new section klevu indexing at the bottom of the properties tab this new section has 2 options register with klevu this setting determines whether an attribute is registered with klevu or not changing this setting will not send the request to klevu immediately the attribute record in the database table klevu indexing attributes will have the next action column updated to add , update or delete depending on the value of this setting when the cronjob next runs it will pick up all entries in this table with a next action and send those api requests if a product attribute is set to register with klevu it does not automatically meant that an update will be sent for an entity if that attribute value is updated, unless triggers update of is also set automatically generate pipeline configuration for for which product types should this data be automatically added to the data sent in entity sync? e g for color or size we would probably want to sync that data for simple and configurable (variants) but not virtual , downloadable or configurable (parents) this setting is dependent on register with klevu being set to yes and otherwise it will be hidden if a product attribute is set to register with klevu it does not automatically meant that the data for that attribute is automatically sent to klevu when entity sync is run, unless automatically generate pipeline configuration for is set for that product type those generated pipeline files can be found in var/klevu/indexing/pipeline/ triggers update of when saving an entity (category, cms page, product or custom type) we do not always trigger an update in klevu e g if the only data on the product that has changed is the weight and we’re not sending weight in the product sync, then we don’t need to send an update for that product however, there will be attributes we do not sync that we want to trigger a sync when changed e g when tax class id of a product is changed we would want to trigger an update of the price this setting determines what data to send when the attribute data is updated on the entity currently selecting any option other than nothing will sync the full product data partial product data sync is on the roadmap for a future release custom attributes behaviour all attributes in klevu have the following settings searchable should this value be used in search filterable should this attribute be usable as a facet returnable should this attribute data be returned to the frontend for any custom attribute, these values are controlled by the following attribute config settings searchable use in search filterable use in layered navigation returnable used in product listing note standard klevu attributes (listed above) have predefined settings for these values and are immutable they will not use these setting from magento admin