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
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
A Gentle Introduction to Transformers
keio_smilab
PRO
2
1k
最強のAIエージェントを諦めたら品質が上がった話 / how quality improved after giving up on the strongest AI agent
kt2mikan
0
130
JAWS DAYS 2026 ExaWizards_20260307
exawizards
0
400
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
3
590
Dr. Werner Vogelsの14年のキーノートから紐解くエンジニアリング組織への処方箋@JAWS DAYS 2026
p0n
1
120
メタデータ同期に潜んでいた問題 〜 Cache Stampede 時の Cycle Wait を⾒つけた話
lycorptech_jp
PRO
0
160
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
1.7k
20260305_【白金鉱業】分析者が地理情報を武器にするための軽量なアドホック分析環境
yucho147
3
220
JAWS Days 2026 楽しく学ぼう! 認証認可 入門/20260307-jaws-days-novice-lane-auth
opelab
10
1.7k
複数クラスタ運用と検索の高度化:ビズリーチにおけるElastic活用事例 / ElasticON Tokyo2026
visional_engineering_and_design
0
120
聲の形にみるアクセシビリティ
tomokusaba
0
170
[AEON TECH HUB #24] お客様の長期的興味の理解に向けて
alpicola
0
130
Featured
See All Featured
How to make the Groovebox
asonas
2
2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Everyday Curiosity
cassininazir
0
160
Building AI with AI
inesmontani
PRO
1
780
Technical Leadership for Architectural Decision Making
baasie
3
280
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Become a Pro
speakerdeck
PRO
31
5.8k
Documentation Writing (for coders)
carmenintech
77
5.3k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
930
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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