Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Context Driven Search Ranking and Faceting
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Torsten Bøgh Köster
September 14, 2017
Technology
1.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Context Driven Search Ranking and Faceting
Torsten Bøgh Köster
September 14, 2017
More Decks by Torsten Bøgh Köster
See All by Torsten Bøgh Köster
LLMs im Griff: Observability, Tracing und Security
tboeghk
0
31
LLMs im Griff: Observability, Tracing und Security
tboeghk
0
46
Oder mache ich es lieber selbst? Wie sich Kosten und Geopolitik auf Cloud-Betrieb auswirken
tboeghk
0
46
Taking an abandoned Solr search from zero to GenAI hero
tboeghk
0
52
Oder mache ich es lieber selbst? Wie sich Kosten und Geopolitik auf Cloud-Betrieb auswirken
tboeghk
0
55
🔪 How we cut our AWS costs in half
tboeghk
0
390
Shared Nothing Logging Infrastructure
tboeghk
0
130
Beyond Cloud: A road trip into AWS and back to bare metal
tboeghk
1
110
Shared Nothing Logging Infrastructure
tboeghk
0
1.4k
Other Decks in Technology
See All in Technology
正解のないAIプロダクトをどう導くか?dodaが挑む、ユーザーの『本音』を構造化する評価設計と検証のリアル
techtekt
PRO
0
190
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
1
160
Claude Codeを組織で使いこなす— サーバサイドAIエージェント運用の実践知
techtekt
PRO
0
210
Diagnosing performance problems without the guesswork
elenatanasoiu
0
170
EventBridge Connection
_kensh
4
590
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
8
350
サイバーセキュリティ概論 / Introduction to Cybersecurity
ks91
PRO
0
170
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
360
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
190
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.9k
Ruby::Boxでできること、Refinementsでできること
joker1007
3
400
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
4
810
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Done Done
chrislema
186
16k
Optimizing for Happiness
mojombo
378
71k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Crafting Experiences
bethany
1
170
Leo the Paperboy
mayatellez
7
1.8k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Transcript
Context Driven Search Ranking and Faceting Torsten Bøgh Köster CTO,
shopping24 internet group
@tboeghk #cto, Search Technology Meetup #hamburg, #10YearsSolr, #roadbike, #landscapephotography Torsten
Bøgh Köster |
[email protected]
| @tboeghk | developer.s24.com
e-commerce product search
related products on 3rd party websites
Open Source Power Delivered.
10 years live on Apache Solr
highly customized solr
solr.cool extension directory
Search is contextless
Make search context aware
personalization
conversational context @chatshopper
category context
upfront decision for known queries query —> category
ambiguous queries „braun“
What about new, trending queries?
who wants to configure ∞ query entries?
(1) Detect category context through current search result inspection
Define contexts as Solr queries
represent category context definition as bitset Load JSON from Zookeeper
Evaluate to BitSet in newSearcher event
BitSets are fun! docid —> boolean
testing current query against category context definitons
Build a PostFilter … QParserPlugin … Collector
decisions for a full search result
handle collisions
(2) faceting depending on detected context
Configure facets per context
Add own component to configure faceting
(3) apply ranking depending on detected context
Change scoring during scoring by breaking deferring delegation
None
Gets called for each docid and returns the scroe
None
(4) Make it fast
Introduce a bounded ranking buffer
Fill a bounded buffer. Decide context upon full buffer or
finish() call
Next: Make it stable, Make it better
None
Image Credits https://www.flickr.com/photos/salihan/7040163843 https://www.flickr.com/photos/scrapthispack/2034500846 https://www.flickr.com/photos/135652812@N05/23375030520 https://www.flickr.com/photos/cozymax/10345521973 https://www.flickr.com/photos/juliegallo/9503466665 https://www.flickr.com/photos/platform3/11350560215 https://www.flickr.com/photos/photo64/6341135231 https://www.flickr.com/photos/opoterser/3760102198
https://www.flickr.com/photos/smemon/14931786713 https://www.flickr.com/photos/cyclotourist/25362023650 https://www.flickr.com/photos/lain32/8321828310 https://www.flickr.com/photos/oter/5238799883 https://www.flickr.com/photos/clement127/16056864658 https://www.flickr.com/photos/brendanlynch/4765970880 https://www.flickr.com/photos/rrenomeron/8771565313/ https://www.flickr.com/photos/eugenuity/34113551603 https://www.flickr.com/photos/justinwkern/4535555236