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
Ungefähr Populär
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tobias Kässmann
June 29, 2016
Technology
0
210
Ungefähr Populär
Trackingdaten zur Sortierung von Suchergebnissen nutzen
Tobias Kässmann
June 29, 2016
Tweet
Share
More Decks by Tobias Kässmann
See All by Tobias Kässmann
Don't just sit there - start search
tkaessmann
0
950
Gain speed and space / precision with NLP in Solr
tkaessmann
0
85
Clustering your e-commerce products (in Solr)
tkaessmann
0
1.3k
Other Decks in Technology
See All in Technology
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
160
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.5k
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
Webhook best practices for rock solid and resilient deployments
glaforge
2
300
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
420
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
Agent Skils
dip_tech
PRO
0
110
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.4k
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
83
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
730
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
How STYLIGHT went responsive
nonsquared
100
6k
Site-Speed That Sticks
csswizardry
13
1.1k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Navigating Team Friction
lara
192
16k
Transcript
Ungefähr populär Jörg Rathlev & Tobias Kässmann Trackingdaten zur Sortierung
von Suchergebnissen nutzen
None
None
< 3M 100M Zeit Produkte we are here
Sonstiges 20 % Suche 80 %
vs.
• Global • pro Portal • pro Suchanfrage • …
rock hose tv jeans 129 64 202 98 120 …
…
None
Bloomfilter Zugehörigkeit zu Mengen
0 0 0 0 0 0 0 0 0 0
0 1 0 1 0 0 0 0 0 1
„Otto“ hash1 hash2 hash3
0 1 1 1 0 1 0 0 0 1
„OGdev“ hash1 hash2 hash3
0 1 1 1 0 1 0 0 0 1
„OGdev“ hash1 hash2 hash3 Wenn alle Werte Eins sind, ist das Wort wahrscheinlich in der Menge enthalten
0 1 1 1 0 1 0 0 0 1
„Kollision“ hash1 hash2 hash3 Kollisionen bei allen Hash- Funktionen führen zu falsch positiven Antworten
0 1 1 1 0 1 0 0 0 1
„Test“ hash1 hash2 hash3 Wenn an mindestens einer Stelle eine Null steht, ist das Wort definitiv nicht enthalten
Demo
Bloom-Filter: Eigenschaften • Konstante Speichergröße • Konstante Zugriffszeit (Einfügen &
Abfrage) • Falsch positive Antworten möglich; negative Antworten sind exakt • Elemente können nicht entfernt werden
Bloom-Filter: Parameter • Anzahl Hash-Funktionen (k) • Größe des Bitsets
(m) • Wahrscheinlichkeit falsch positiver Antworten: 1 − 1 − 1 m kn k
Guava Library BloomFilter<Thing> filter = BloomFilter.create(funnel, 100, 0.01); filter.put(element); if
(filter.mightContain(element)) { … } Hash-Funktion erwartete Anzahl Elemente Falsch-Positiv-Rate
Bloom-Filter: Anwendungsfälle • Langsame Zugriffe auf nicht existierende Elemente vermeiden
• Elemente erst beim zweiten Zugriff in einen Cache einfügen • …
Count-Min-Sketch Zählung von Häufigkeit
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3
0 0 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 3 „Otto“ hash1 hash2 hash3
0 0 2 0 0 0 0 0 0 0
0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 2 3 „Otto“ hash1 hash2 hash3
0 0 2 0 0 0 0 0 1 0
0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 2 1 2 3 „OGdev“ hash2 hash1 hash3
0 0 3 0 0 0 0 0 1 0
0 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 2 1 2 3 „Kollision“ hash1 hash2 hash3
0 0 3 0 0 0 0 0 1 0
0 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 2 1 2 3 „Otto“ hash1 hash2 hash3 3 2 2
0 0 3 0 0 0 0 0 1 0
0 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 2 1 2 3 „Otto“ hash1 hash2 hash3 3 2 2 min=2
0 0 3 0 0 0 0 0 1 0
0 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 2 1 2 3 „OGdev“ 1 1 2 min=1 hash1 hash2 hash3
Count-Min-Sketch: Eigenschaften • Konstante Speichergröße • Konstante Zugriffszeit (Einfügen &
Abfrage) • Ausgelesener Wert ist möglicherweise zu hoch, aber nicht zu niedrig • Elemente können nicht entfernt werden
Count-Min-Sketch: Parameter • Tiefe (Anzahl Hash-Funktionen) • Breite (Anzahl Werte
pro Zeile) • Auswahl über akzeptierte Abweichung mit Konfidenz (max. ε Abweichung mit Wahrscheinlichkeit p)
None
Relevanz Zeit
Exponentielles Abstrafen
Search Technology Meetup Hamburg