Index with the BasicHtmlContentInBodyProcessor

Important

The recommended Coveo for Sitecore HTML processor is the FetchPageContentProcessor processor (see Index page content with the FetchPageContentProcessor processor).

This method is the simplest way to enable full-text search on Sitecore items.

When indexing a Sitecore item, an HTML representation is generated containing the field names and values. This HTML content is then used for full-text search as well as for the Quick view.

Note that the basic HTML content processor returns the raw value of a field directly, not the rendered value.

Important

Given the way an item excerpt is generated, the BasicHtmlContentInBodyProcessor requires all valuable Sitecore fields used in the rendering of the Sitecore content item to be added to the <include> fields list. The quality of excerpts generated also depends on these fields containing continuous text.

Configuring the processor

  1. Open the Coveo.SearchProvider.Custom.config file in a text editor. By default the file is located in <SITECORE_INSTANCE_ROOT>\website\App_Config\Include\.

  2. Locate the coveoPostItemProcessingPipeline element (see About the coveoPostItemProcessingPipeline pipeline).

  3. Insert the following processor sub-element right under:

    <processor type="Coveo.SearchProvider.Processors.BasicHtmlContentInBodyProcessor, Coveo.SearchProviderBase"/>
  4. Re-index the Sitecore items.

  5. You can now perform full-text search on this HTML content.

Options on the processor

The following table provides a list of options available on the processor along with their descriptions and example values:

Name Description Example value

IncludeFieldNames

Whether the field names should be added to the HTML content or not.

true/false

IncludeTextFieldsOnly

Whether to add only plain text fields (type="Sitecore.Data.Fields.TextField,Sitecore.Kernel" fields) in the HTML content (for example, Single-Line Text fields).

true/false

FieldsToInclude

Comma-separated list of fields to include in the HTML representation of items.

Name, DisplayName

Leave blank to include all fields.

TemplatesToInclude

Comma-separated list of templates whose items the BasicHtmlContentInBodyProcessor will be applied to.

Sample Item, Device

Leave blank to include all templates.

Options can be configured as children of the <processor> element, like in the following example:

<processor type="Coveo.SearchProvider.Processors.BasicHtmlContentInBodyProcessor, Coveo.SearchProviderBase">
    <IncludeFieldNames>false</IncludeFieldNames>
</processor>