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 |
|---|---|---|
|
|
ContextGeo |
Contains information about the visitor's geolocation. |
|
|
Array<string> |
List of IDs. |
|
|
ContextLocale |
Contains information about the country and language the page is being viewed in. |
|
|
ContextPage |
Contains information about the page where the request was made. |
|
|
ContextTime |
Contains information about time of request. |
|
|
ContextUser |
Contains information about the visitor. Required for personalization and accurate analytics. |
|
|
Object |
Contains UTM campaign parameters. |
Unless indicated otherwise, all values are optional.
Other Context related methods
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;