Indexable Fields
Indexable Fields allow you to extend the search schema by adding custom product attributes to the search index. By default, the search index includes standard product fields like name, description, SKU, and categories. Indexable Fields let you add additional fields from your product extensions to enable searching, filtering, faceting, and sorting on custom attributes.
When to Use Indexable Fields
Use Indexable Fields when you want to:
- Search custom attributes: Enable full-text search on custom product fields like brand, material, or specifications
- Filter by custom attributes: Allow shoppers to filter products by custom fields like color, size, or rating
- Facet on custom attributes: Display aggregated counts for custom field values in your navigation
- Sort by custom attributes: Order search results by custom numeric fields like rating or popularity
How Indexable Fields Work
- Create indexable fields: Define which product extension fields should be indexed, specifying field name, data type, and options (facetable, sortable, locale)
- Reindex catalogs: After creating or modifying indexable fields, reindex your catalog releases to include the new fields
- Use in searches: One reindexed, you can reference the indexed fields in your search queries for filtering, faceting, and sorting
Field Configuration
Each indexable field has the following configuration options:
| Option | Description |
|---|---|
name | The field path in product extensions, e.g., extensions.products(Details).brand |
facetable | When true, the field can be used for faceting to show aggregated value counts |
sortable | When true, the field can be used for sorting results |
locale | Language code for text tokenization, defaults to en for English |
Field Naming Convention
Indexable field names must follow the pattern extensions.products(<template_slug>).<field_name>, where:
<template_slug>is the slug of your product extension template<field_name>is the name of the field within that template
Example: For a product extension template with slug Details containing a field brand, the indexable field name would be extensions.products(Details).brand.
Reindexing Requirement
Changes to indexable fields require reindexing your catalog releases. The system detects when indexes are out of sync and you can use the reindex endpoint to update them. See Jobs for reindexing operations.
📄️ Create indexable fields
Specify additional fields to be indexed.
📄️ List indexable fields
List indexable fields.
📄️ Get indexable fields
Get additional fields to be indexed.
📄️ Update indexable fields
Update additional fields to be indexed.
📄️ Delete indexable fields
Delete additional fields to be indexed.