Context
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.
The JS SDK is built on top of the JS Data package. The context object and its methods available in the JS Data package are also available in the JS SDK.
For documentation on the Context object, refer to Search JS Data package.
Name |
Type |
Description |
---|---|---|
|
ContextGeo |
Contains information about the visitor's geo location. |
|
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.
ISearchRequest related methods
The following code block lists the various methods related to context and 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;
/** context.utm_source */
context.setUtmSource('utm source');
/** context.utm_medium */
context.setUtmMedium('utm medium');
/** context.utm_campaign */
context.setUtmCampaign('utm campaign');
/** context.utm_term */
context.setUtmTerm('utm term');
/** context.utm_content */
context.setUtmContent('utm content');