Enable Indexing for Attribute Content

You can specify that component or page attributes are indexed and searchable. When attributes are searchable, users can find pages by searching for the attribute value. For example, users can search for the text configured for a rich text attribute.

Add searching to the definition of the attribute in the page or component meta definition file, as in the following example for a page attribute:

{
  "id": "heading",
  "name": "Banner Heading",
  "required": true,
  "type": "text",
  "searching": {
    "searchable": true,
    "refinable": true,
    "boost_factor": 2.0
    "sortable": true
  }
},

You can designate the following types as searchable. If the searchable value isn’t specified, the default is false.

  • string
  • text
  • markup
  • product
  • category
  • cms_record
  • custom
  • enum-of-string

The refinable value indicates whether a user can further refine search results based on the content of this attribute. You can designate all searchable attribute types as refinable except cms_record and custom.

The boost_factor value influences the placement of the page in the search results. You can specify any value from 0.01 to 100.00 for the boost factor. A boost factor of 1.00 is the default and doesn’t change the order of search results. Specify a boost factor less than 1.00 to indicate that text in the attribute is less relevant than other terms in the index. Specify a boost factor greater than 1.00 to increase the relevance of attribute text. For example, including a boost factor of 2.00 makes the field twice as relevant in relation to other fields in the index. We recommend that you use boost factors less than or equal to 5.00.

For page attributes, you can include the sorting property set to true to indicate that search results can be sorted using this attribute.

Note: The sorting property is applicable only for page-level attributes. Don’t use the sorting property for component attributes.
Note: You can’t use the sorting property with attributes of type markup.

For attributes of type custom, all elements of the attribute are considered text for purposes of indexing. For attributes of type cms_record, only attributes of the cms_record that are supported as searchable are added to the index. For example, if the cms_record includes an attribute of type image, the image isn’t indexed.