loading table of contents...

8.4.3.2. Configured SearchFunctions

CoreMedia Blueprint comes with a content type called Personalized Search that represents a parametrized search query. You can use SearchFunctions to enrich the query String, which will be evaluated at request processing time. After evaluation, the SearchFunctions are replaced with values from contexts resulting in a personalized search query.

CoreMedia Blueprint is shipped with the following SearchFunctions configured:

Search FunctionDescription
contextProperty

A search function that adds the value of a single context property to a search string.

You can use the following parameters:

  • property - the property of the context. Should be in the form: <context>.<property>

  • field - the search engine field in which you want to search.

Example:

The context named "bar" contains a property "foo" which has a value "42". Then, the search function contextProperty(property:bar.foo, field:field) will be evaluated to 'field:42'. That is, the Search Engine searches in the field named "field" for the value "42".

userKeywords

A search function that selects from a user's context a set of keys that fulfill a weight constraint.

You can use the following parameters:

  • limit - Limits the number of returned keys (a negative or missing value means no limit)

  • field - The search engine field which should be searched

  • threshold - The minimum weight of keys to be returned

  • context - The context containing the keys

Example:

The context object named myContext contains the properties (foo, 0.8), (bar, 0.5), (zork, 0.1). Then, the search function userKeywords(threshold:0.5, limit:-1, field:field, context:myContext) will be evaluated to field:(foo bar) and the search function userKeywords(threshold:0.5, limit:1, field:field, context:myContext) will be evaluated to field:(foo).

userSegments

A search function that selects the set of user segments the active user belongs to.

You can use the following parameters:

  • field - The search engine field which should be searched

  • context - The context that contains segment properties

Example:

The context object named "myContext" contains the properties ('content:42', true), ('content:44', false), ('content:46', true). Then, the search function userSegments(field:field, context:myContext) will be evaluated to "field:(42 46)". This function is intended to be used with the user segmentation feature of CoreMedia Adaptive Personalization, which uses property keys of the form content:<segmentId> (where segmentId is the numeric content id of a user segment) to represent segments in a user's context.

Table 8.12. Predefined SearchFunctions in CoreMedia Blueprint


See the [Blueprint Concept Guide] and the [Adaptive Personalization Manual] for more information on SearchFunctions and the content type Personalized Search.