This document discusses using clickstream data to improve search ranking and facet optimization in SOLR. It describes compiling relevance feedback from click data, indexing click signals to SOLR to boost document ranking, and reordering facets based on engagement data learned from clickstream. The approach led to improvements in key metrics like CTR, conversion rates, and sales. Ongoing work includes learning to rank models and discovering relevant facets for queries to better guide users' product discovery.
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Integrating Clickstream Data into Solr for Ranking and Dynamic Facet Optimization - Ilayaraja Prabakaran, Target
1. Integrating Clickstream Data in SOLR
for Ranking and Dynamic Facet Optimization
Ilayaraja Prabakaran
Lead Engineer, Search
Target
2. Agenda
• Search Ranking using clickstream
Compiling relevance feedback
Indexing click signals to Solr
Re-ranking using clicks signals
• Facet Optimization using clickstream
Compiling facet engagement data
Re-ordering of facets based on engagement
Discovery of relevant facets per query
3. 01
Learning From Implicit Feedback
Query Product list
Q1 Px, Py, Pz….
Q2 Pi, Pj, Pk….
Qn …....
Events
UserId SessionId Time stamp Action Meta-Data
xyz ab2n2n.. 20161008-233554 Search Search term
xyz ab2n2n.. 20161008-233601 Click Query, ProdId,
pos
xyz ab2n2n.. 20161008-233801 CartAdd Query, ProdId,
pos
MAP REDUCE JOBS
(Aggregation over
sessions and actions)
Item List of user queries and importance
X <Q1,score>, <Q2,score>,….
Y <Qi,score>,<Qj,score>,….
SOLR
Search Service
Doc: Title
Brand
Click_term1,Click_val1
Click_term2,Click_val2
….
Boosting for
matching
click_terms …
4. 01
Rank Score
The final weighted score is calculated as below:
Weighted Score = ( W1 * ClickRate ) + ( W2 * CartRate )
Currently weights are :
W1 = 0.25
W2 = 0.75
• Query to Item Clicks (ClickRate)
• Query to Item added to cart (CartRate)
8. 8
Integration with Solr – Indexing Time
• schema.xml: Include below dynamic fields
<dynamicField name="click_term*" type="string" indexed="true" multiValued="false" />
<dynamicField name="click_val*" type="double" indexed="true" multiValued="false" />
Index the search terms (click_term1, click_term2..) as a new field in the solr index
along with corrosponding click scores (click_val1, click_val2...).
9. 9
Integration with Solr – Search Time
Boost the match on click_term(s):
Including the boost query for top N terms to the original solr query, for
example:
bq=(click_term1:"nespresso") AND _val_:"max(1,product(click_val1,1000))” &
bq=(click_term2:"nespresso”) AND _val_:"max(1,product(click_val2,1000))"& ….
Reference: Implementing Click-through Relevance , Andrzej Białecki
14. 14
Facet Optimization
Ø Problem: Rule based faceting treatment is static and limited.
Ø Solution: Build learning model for driving facets dynamically.
• Solution 1: Facet Ranking
• Solution 2: Facet Discovery
Ø How will this affect our guest?
• Bringing relevant refinements for a given search query or category (browse)
• Help guests to narrow down their product discovery through “smart” facets
15. 15
Ranking Implementation
Ø Computing query to facet association:
• Will go through each session record and calculate number of clicks for each facet.
• Calculate search impression by getting distinct search terms for a facet type and
summing them up.
• Facet Engagement Rate = Facet clicks/ facet impression.
Ø Computing query to product click association
• For each session, find attribution of product clicks to each facet.
• Total sum of clicks calculated for <query, facet> combination.
• Facet Click Rate = Normalized by dividing with search impression.
Ø Computing query to product cart add association
• For each session, find attribution of product cart adds to each facet.
• Total sum of cart adds calculated for <query, facet> combination.
• Facet Cart Rate = Normalized by dividing with search impression.
16. 16
Facet Ranking
The final weighted score is calculated as below:
Score = Sum { W1 * Facet Engagement Rate,
W2 * Facet Click Rate,
W3 * Facet Cart Rate }
17. 17
Facet Discovery
• Query to Category (breadcrumb) mapping
• Compute weighted score based click/cart signals for browse with breadcrumb
as the key.
• Select the optimal breadcrumb(s) by ranking based on above score for the
breadcrumbs at a search term level.
• Search and browse facets are aggregated.