Set Up Discover Search Sort
Setup instructions on Omnichannel Personalization Dashboard for Algonomy admin
The following step by step instructions will help Algonomy administrators setup Discover's Search Personalization capabilities.
Enable Discover
-
On the Omnichannel Personalization dashboard, go to Admin > Site Configurations RR.
-
Check the Discover Enabled option.
Enable the complementary search feature
-
On the Omnichannel Personalization dashboard, go to Admin > Site Configuration RR.
-
Check the Enable Complementary Search Sort option.
-
The Complementary Search Sort Strategy has a single SearchConfig object. The system finds the configuration object with this precedence:
-
In the 'searchConfig' request parameter, as a URL encoded string
-
In the rrPortal Admin>Site Configurations RR page, in the field 'complementary search config json', as a Json string
-
From the built-in default SearchConfig settings.
-
-
Default search configuration
Here are the default search configuration settings, with no request or site configuration override. Any field missing from either a request or site configuration will use the associated default value.
{
"debug": "none",
"sd": 1000,
"items": 25,
"vbp": 2,
"pbp": 2,
"edbp": 2,
"nb": 512,
"db": 256,
"ab": 1,
"ed": 1,
"pd": 2,
"pb": 1,
"grf": "globalrank_f",
"psEnable": false,
"psdMinS": 0.1,
"psdMaxS": 0.8,
"psdItem": 25
}
param |
description for the basic search query properties |
type |
example |
---|---|---|---|
items |
The number of items returned. This value overrides the recsForPlacments 'rows' attribute, allowing different result sizes between SearchSort and CategorySort. |
int |
25 |
vbp, pbp |
View/Purchase boost progression. There are 10 buckets for view search scores. The boost for bucket 'n' is vpb^n. So, with a vbp value of 2.0, the 10th seearchfor_v bucket is 512 times more than the first searchfor_v bucket. searchfor_v1^2, searchfor_v10^1024. A vbp value of 1.1 gives searchfor_v1^1.1 and searchfor_v10^2.59. |
double |
1.1 |
edbp |
Edit distance boost progression. The first two words in the search query allow for spelling correction, with the exact match boosted above the spell corrections using this parameter. The exact match boost is edbp larger than the one edit distance match boost, which is edbp larger than the two edit distance match boost. |
double |
2 |
ed |
The maximum edit distance to use for search terms. The phrase "copy paper" expands to "copy"~0 "copy"~1 "paper"~0 "paper"~1. The single term "paper"~0 only matches "paper". The single term "paper"~1 matches "pper" "papr" "papper" "piper" |
int |
1 |
pd |
The maximum word distance for the search term phrase. "copy paper"~1, matches "copy printer paper", "copy" "paper" |
int |
1 |
pb |
The boost applied to the search term phrase. "copy paper" |
|
|
nb |
The boost applied to the name_t product field. |
int |
512 |
db |
The boost applied to the description_t product field |
int |
256 |
ab |
The boost applied to client-supplied searchable attributes |
int |
1 |
grf |
The global rank field to use in case of a tie. |
String |
globalrank_f |
debug |
Adds some debug information. Enabled if not 'none'. In later phases, we may choose to add levels, such as info, verbose. |
String |
none |
psEnable |
Enable personalization for complementary search |
boolean |
true, false |
psdMinS, psdMaxS |
The minimum and maximum score integral thresholds, between 0.0 and 1.0 inclusive. Any score integral less than or equal to psdMinS is in the lowBand. Any score integral greater than psdMaxS is in the highBand. Any score integral greater than psdMinS and less than or equal to psdMaxS is in the midBand. |
double |
0.2, 0.8 |
psdItem |
The number of items to include in the score integral. The normalized score integral calculation, described above, uses the psdItem value for 'n'. |
int |
25 |
Create a new placement
-
Make sure the placement page type is Search page. For example: Search page.complementary_sort.
-
Enter Layout json_minimal with minimum of 1 and maximum of 10 items.
-
Publish the placement.
-
Setup a strategy message for "ComplementarySearch" Strategy.
Prefer the strategy
-
Set the "ComplementarySearch" strategy to be the preferred strategy for the placement just created.
-
Check the "Use only these" button so that only this strategy is used for this placement.
Recommended Integration approach
-
Use server-side integration by using recsForPlacements API.
-
Put the products recommended by rr on the first page and backfill the rest by retailers search provider. Keep deduping and pagination in mind. In Phase 2, apply user affinities as boosts. This highly depends on the query language provided by the retailers search provider.
-
Request/Response sequence diagram:
-
For Phase 2, integrating with retailers existing search engines:
-
Apache Solr:
-
Solr query may look like this:
-
-
q=searchTerm&fq=-prod_id:(rr_prod1 OR rr_prod2 OR rr_prod3)
&bq=rr_catId^affinityVal rr_brandId^affinityVal
The above query searches for "searchTerm" and removes the product ids that Algonomy recommended since those products are already being shown on first few pages. It also applies boosts to the categories/brands that rr recommended by the affinity value amount.
-
Oracle Endeca:
-
Use custom built endeca cartridge.
-
-
Make sure to use click tracking URLs for the Algonomy recommended products (and only those products) .