Removing HTML tags
In most situations, content to be indexed contains HTML tags. We want to remove the tags before indexing. Otherwise, the search will include HTML tags and return HTML markup in search results.
Examples
Example of removing HTML tags from a specific RemoveHtmlTagsWhenIndexing attribute found in the EPiServer.Find.Json namespace:
using EPiServer.Find.Json;
public class WithStringProperty
{
public string Title { get; set; }
[RemoveHtmlTagsWhenIndexing]
public string Content { get; set; }
}
It is also possible to customize the Client conventions to remove HTML tags from all string fields:
client.Conventions.ForInstancesOf<object>()
.FieldsOfType<string>().StripHtml();
To remove HTML tags from a specific field when indexing a specific type, we can use the ForType and Field methods:
client.Conventions.ForType<BlogPost>()
.Field(x => x.Content).StripHtml();
The StripHtml method also performs HTML decoding. The goal is to index the text that users see when viewing the page, and to be able to find that content.
For example, the Swedish text "Jag gillar äpplen" is stored as "Jag gillar äpplen", and is decoded back when indexing. This means that a user can find the text using a query like "äpplen".
Last updated: Sep 21, 2015