1. Search request

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

NameTypeDescription
geoContextGeoContains information about the visitor's geolocation.
idsArrayList of IDs.
localeContextLocaleContains information about the country and language the page is being viewed in.
pageContextPageContains information about the page where the request was made.
timeContextTimeContains information about time of request.
userContextUserContains information about the visitor. Required for personalization and accurate analytics.
utm_campaignObjectContains 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.


/** 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;
If you have suggestions for improving this article, let us know!