This content is archived. See latest version here

Last updated: Nov 16 2015

In some situations, especially when you work with classes from third-party libraries, you can index values that are not exposed as properties on the objects. This topic explains how to customize Client conventions to include fields to be indexed in Episerver Find.

How it works

By customizing the Client conventions, you can include just about any value that will be indexed by including delegates whose return value is included when indexing. These delegates can use methods, extension methods, and operations on the properties exposed by the indexed object.


Given a BlogPost class with a list of tags, you can include the tag count by configuring the Client conventions to include an expression that retrieves it.

//using EPiServer.Find.ClientConventions;

    .IncludeField(x => x.Tags.Count());

You can then search and filter for the indexed value:

    .Filter(x => x.Tags.Count().Match(firstIndexedObject.Tags.Count()))

You also can supply a delegate that is used to set the value when returned in a search result.

        x => x.GetSomeField(), 
        (x, value) => x.SetSomeField(value));

Do you have feedback on this documentation? Send an email to For development-related questions and discussions, refer to our Forums on