Search + Discovery Peter Bourgon Evolution of search Relevance - - PowerPoint PPT Presentation

search discovery
SMART_READER_LITE
LIVE PREVIEW

Search + Discovery Peter Bourgon Evolution of search Relevance - - PowerPoint PPT Presentation

Search + Discovery Peter Bourgon Evolution of search Relevance ranking A bit about SOA EVOLUTION OF SEARCH KATAMARI DAMACY, NAMCO HOW TO FIX? HOW TO FIX? ElasticSearch HOW TO FIX? ElasticSearch Greenfield development HOW TO FIX?


slide-1
SLIDE 1

Search + Discovery

Peter Bourgon

slide-2
SLIDE 2

Evolution of search Relevance ranking A bit about SOA

slide-3
SLIDE 3

EVOLUTION OF SEARCH

slide-4
SLIDE 4
slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8

KATAMARI DAMACY, NAMCO

slide-9
SLIDE 9
slide-10
SLIDE 10

HOW TO FIX?

slide-11
SLIDE 11

HOW TO FIX?

ElasticSearch

slide-12
SLIDE 12

HOW TO FIX?

ElasticSearch Greenfield development

slide-13
SLIDE 13

HOW TO FIX?

ElasticSearch Greenfield development Parallel dark launch

slide-14
SLIDE 14

HOW TO FIX?

ElasticSearch Greenfield development Parallel dark launch Migrate traffic slowly

slide-15
SLIDE 15

HOW TO FIX?

ElasticSearch Greenfield development Parallel dark launch Migrate traffic slowly Scale out

slide-16
SLIDE 16
slide-17
SLIDE 17

WHY ELASTICSEARCH

slide-18
SLIDE 18

WHY ELASTICSEARCH

Good API

slide-19
SLIDE 19

WHY ELASTICSEARCH

Good API Clear path for growth

slide-20
SLIDE 20

WHY ELASTICSEARCH

Good API Clear path for growth Batteries included

slide-21
SLIDE 21

WHY ELASTICSEARCH

Good API Clear path for growth Batteries included Works like you expect it to

slide-22
SLIDE 22

COMPONENTS

slide-23
SLIDE 23

RELEVANCE RANKING

slide-24
SLIDE 24

PageRank

slide-25
SLIDE 25

DiscoRank

slide-26
SLIDE 26
slide-27
SLIDE 27

DISCORANK DETAILS

slide-28
SLIDE 28

DISCORANK DETAILS

Calculations done offline

slide-29
SLIDE 29

DISCORANK DETAILS

Calculations done offline Serialize to compact array

slide-30
SLIDE 30

DISCORANK DETAILS

Calculations done offline Serialize to compact array Load in ES custom scorer

slide-31
SLIDE 31

DISCORANK DETAILS

Calculations done offline Serialize to compact array Load in ES custom scorer “Hybrid” 2-phase queries

slide-32
SLIDE 32

DISCORANK DETAILS

Calculations done offline Serialize to compact array Load in ES custom scorer “Hybrid” 2-phase queries Recalculate/reload every N

slide-33
SLIDE 33
slide-34
SLIDE 34

DISCORANK++

slide-35
SLIDE 35

DISCORANK++

+ Time component → “Hotness”

slide-36
SLIDE 36

DISCORANK++

+ Time component → “Hotness” + User behavior → “Trust”

slide-37
SLIDE 37

THE BIGGER PICTURE

slide-38
SLIDE 38
slide-39
SLIDE 39
slide-40
SLIDE 40

INDEXING

Single-purpose application(s) Stateless and idempotent Build, iterate, iterate, iterate Full catalog ~= 1 hour

slide-41
SLIDE 41
slide-42
SLIDE 42

SEARCHING

Single-purpose application Stateless and idempotent SC/ES DSL translation Open-source ES library

slide-43
SLIDE 43
slide-44
SLIDE 44

EXPLORING

Single-purpose application “Stateless” and idempotent Special, complex searches Cached on regular interval

slide-45
SLIDE 45

SERVICE ORIENTED ARCHITECTURE

slide-46
SLIDE 46
slide-47
SLIDE 47

SOA AT SOUNDCLOUD

slide-48
SLIDE 48

SOA AT SOUNDCLOUD

Bazooka platform

slide-49
SLIDE 49

SOA AT SOUNDCLOUD

Bazooka platform API as firewall

slide-50
SLIDE 50

SOA AT SOUNDCLOUD

Bazooka platform API as firewall 12 Factor applications

slide-51
SLIDE 51
slide-52
SLIDE 52

12 FACTOR APPS

slide-53
SLIDE 53

12 FACTOR APPS

Single codebase (repository)

slide-54
SLIDE 54

12 FACTOR APPS

Single codebase (repository) Config stored in environment

slide-55
SLIDE 55

12 FACTOR APPS

Single codebase (repository) Config stored in environment Backing services as resources

slide-56
SLIDE 56

12 FACTOR APPS

Single codebase (repository) Config stored in environment Backing services as resources Stateless

slide-57
SLIDE 57

12 FACTOR APPS

Single codebase (repository) Config stored in environment Backing services as resources Stateless Horizontal scaling with processes

slide-58
SLIDE 58
slide-59
SLIDE 59

WHY SOA?

slide-60
SLIDE 60

WHY SOA?

Velocity

slide-61
SLIDE 61

WHY SOA?

Velocity Developer happiness

slide-62
SLIDE 62

WHY SOA?

Velocity Developer happiness Distributed systems are complex

slide-63
SLIDE 63

ElasticSearch core + SOA infrastructure

slide-64
SLIDE 64

THANKS!

(ALSO WE ARE HIRING)

Peter Bourgon @peterbourgon http://peter.bourgon.org