interface SearchIndexerInterface (View source)

Interface that all the classes that handle the search index of attribute categories must implement.

Methods

createRepository(CategoryInterface $category)

Create the database table where the data of the indexed attributes will be stored.

updateRepositoryColumns(CategoryInterface $category, AttributeKeyInterface $key, string|null $previousHandle = null)

Create or update the column that contains the indexed data of a specific attribute.

indexEntry(CategoryInterface $category, AttributeValueInterface $attributeValue, object $subject)

Store in the index table the value of an attribute of an item.

clearIndexEntry(CategoryInterface $category, AttributeValueInterface $attributeValue, object $subject)

Remove from the index table the value of an attribute of an item.

Details

createRepository(CategoryInterface $category)

Create the database table where the data of the indexed attributes will be stored.

Parameters

CategoryInterface $category

updateRepositoryColumns(CategoryInterface $category, AttributeKeyInterface $key, string|null $previousHandle = null)

Create or update the column that contains the indexed data of a specific attribute.

Parameters

CategoryInterface $category
AttributeKeyInterface $key
string|null $previousHandle

indexEntry(CategoryInterface $category, AttributeValueInterface $attributeValue, object $subject)

Store in the index table the value of an attribute of an item.

Parameters

CategoryInterface $category
AttributeValueInterface $attributeValue
object $subject

The item owning the attribute value

clearIndexEntry(CategoryInterface $category, AttributeValueInterface $attributeValue, object $subject)

Remove from the index table the value of an attribute of an item.

Parameters

CategoryInterface $category
AttributeValueInterface $attributeValue
object $subject

The item owning the attribute value