The Context interface

In Sitecore Search, you can get personalized search results that depend on both the page being viewed and the visitor. You can send these values in a Context object.

Context

Name

Type

Description

geo

ContextGeo

Contains information about the visitor's geolocation.

ids

Array<string>

List of IDs.

locale

ContextLocale

Contains information about the country and language the page is being viewed in.

page

ContextPage

Contains information about the page where the request was made.

time

ContextTime

Contains information about time of request.

user

ContextUser

Contains information about the visitor. Required for personalization and accurate analytics.

utm_campaign

Object

Contains UTM campaign parameters.

Note

Unless indicated otherwise, all values are optional.

The following code block lists the various context-related methods that are accessible through the Request object. After the installation of the JS Data package into your project, these methods and their documentation are available in your IDE.

RequestResponse
/** context */
getContext(): Context;
setContext(value: Context): ISearchRequest;
resetContext(): ISearchRequest;
updateContext(value: Context): ISearchRequest;

/** context.geo */
getContextGeo(): ContextGeo;
setContextGeo(value: ContextGeo): ISearchRequest;
resetContextGeo(): ISearchRequest;
updateContextGeo(value: ContextGeo): ISearchRequest;

/** context.geo.ip */
getContextGeoIp(): string;
setContextGeoIp(value: string): ISearchRequest;
resetContextGeoIp(): ISearchRequest;

/** context.geo.location */
getContextGeoLocation(): ContextGeoLocation;
setContextGeoLocation(value: ContextGeoLocation): ISearchRequest;
resetContextGeoLocation(): ISearchRequest;
updateContextGeoLocation(value: ContextGeoLocation): ISearchRequest;

/** context.geo.location.lat */
getContextGeoLocationLat(): number;
setContextGeoLocationLat(value: number): ISearchRequest;
resetContextGeoLocationLat(): ISearchRequest;

/** context.geo.location.lon */
getContextGeoLocationLon(): number;
setContextGeoLocationLon(value: number): ISearchRequest;
resetContextGeoLocationLon(): ISearchRequest;

/** context.ids */
getContextIds(): MapModel<ContextEntityIds>;
setContextIds(value: MapModel<ContextEntityIds>): ISearchRequest;
resetContextIds(): ISearchRequest;

/** context.ids.__constructor__ */
getContextEntityIds(entity: Entity): Array<EntityId>;
setContextEntityIds(entity: Entity, value: Array<EntityId>): ISearchRequest;
resetContextEntityIds(entity: Entity): ISearchRequest;
addContextEntityId(entity: Entity, value: EntityId): ISearchRequest;
removeContextEntityId(entity: Entity, value: EntityId, filter?: (v: any) => boolean): ISearchRequest;

/** context.locale */
getContextLocale(): ContextLocale;
setContextLocale(value: ContextLocale): ISearchRequest;
resetContextLocale(): ISearchRequest;
updateContextLocale(value: ContextLocale): ISearchRequest;

/** context.locale.country */
getContextLocaleCountry(): string;
setContextLocaleCountry(value: string): ISearchRequest;
resetContextLocaleCountry(): ISearchRequest;

/** context.locale.language */
getContextLocaleLanguage(): string;
setContextLocaleLanguage(value: string): ISearchRequest;
resetContextLocaleLanguage(): ISearchRequest;

/** context.page */
getContextPage(): ContextPage;
setContextPage(value: ContextPage): ISearchRequest;
resetContextPage(): ISearchRequest;
updateContextPage(value: ContextPage): ISearchRequest;

/** context.page.custom */
getContextPageCustom(): ContextPageCustom;
setContextPageCustom(value: ContextPageCustom): ISearchRequest;
resetContextPageCustom(): ISearchRequest;

/** context.page.uri */
getContextPageUri(): string;
setContextPageUri(value: string): ISearchRequest;
resetContextPageUri(): ISearchRequest;

/** context.time */
getContextTime(): ContextTime;
setContextTime(value: ContextTime): ISearchRequest;
resetContextTime(): ISearchRequest;
updateContextTime(value: ContextTime): ISearchRequest;

/** context.time.epoch */
getContextTimeEpoch(): number;
setContextTimeEpoch(value: number): ISearchRequest;
resetContextTimeEpoch(): ISearchRequest;

/** context.user */
getContextUser(): ContextUser;
setContextUser(value: ContextUser): ISearchRequest;
resetContextUser(): ISearchRequest;
updateContextUser(value: ContextUser): ISearchRequest;

/** context.user.uuid */
getContextUserUuid(): string;
setContextUserUuid(value: string): ISearchRequest;
resetContextUserUuid(): ISearchRequest;

Do you have some feedback for us?

If you have suggestions for improving this article,