SlideShare a Scribd company logo
Use Cases for Elastic Search Percolator
Search Meetup 2016
2
Percolator
Search Meetup 2015
Traditionally you design documents based on your data, store them into an index, and then define queries
to retrieve these documents.
TheTheTheThe percolator works in the opposite direction.percolator works in the opposite direction.percolator works in the opposite direction.percolator works in the opposite direction.
First you store queries into an index and then you define documents in order to retrieve these queries.
The percolator and most of its features work in realtime - once a percolate query is indexed it can
immediately be used in the percolate API.
3
Search Meetup 2015
Near – time decisions for rewarding customer
in PAYBACK programs
4
Search Meetup 2015
Business
target
Near – time decisions for rewarding customer
in PAYBACK programs
source: https://www.flickr.com/photos/mdalmuld/9559878695
5
Search Meetup 2015
Gamification
More achievements and more emotions with games.
source: https://www.flickr.com/photos/129941959@N06/15664857154/
6
Implementation details
ElasticElasticElasticElastic SearchSearchSearchSearch as real time Data Container with all events
PercolatorPercolatorPercolatorPercolator as real time Rule Engine
RedisRedisRedisRedis as queuing system
LogstashLogstashLogstashLogstash for event pushing
DropwizardDropwizardDropwizardDropwizard for RESTfull standalone application
HTML5 and AngularJSHTML5 and AngularJSHTML5 and AngularJSHTML5 and AngularJS for responsive GUI
Search Meetup 2015
Tools / frameworks
7
Architecture
Search Meetup 2015
8
Percolator
Search Meetup 2015
curl -XPUT 'localhost:9200/data/.percolator/g1_123456700' -d '{
"query" : {
"match" : {
"service" : "processPurchaseEvent",
"alias" : "123456700"
}
}
}'
Creation of percolator query
9
Percolator
Search Meetup 2015
curl -XGET 'localhost:9200/data/logs/_percolate' -d '{
"doc" : {
"service" : "processPurchaseEvent",
"alias" : "123456700"
.
.
.
}
}'
Usage of percolator
10
Redis
Search Meetup 2015
{"matches":["g2_123456700",
"g1_123456700"],
"event":{
"service":"processPurchaseEvent",
"logstash_checksum":"cef6adb614de4623bbd809197fb79e3f",
…
{"alias":"123456700","aliasType":1}}
…
}
}
Data for redis
11
Java application
Search Meetup 2015
Creation of percolators
12
Logstash plugin
Search Meetup 2015
Ruby code for using percolator queries
13
Logstash plugin
Search Meetup 2015
Configuration
output {
elasticsearch {
host => " HOSTNAME :9200"
protocol => "http"
document_id => "%{logstash_checksum}"
}
percolator {
host => "HOSTNAME"
port => "9200"
redis_host => ["localhost"]
document_id => "%{logstash_checksum}"
pattern_index => "percolators"
index => "data"
data_type => "channel"
}
}
14
Percolator details
stored per index in the .percolator type
active percolator queries are kept in memory
at percolate time, the document from the request gets parsed into a Lucene document and
is stored in a in-memory Lucene index
percolator queries are executed on single document in-memory index
multi percolate and percolation of existing documents is possible
Search Meetup 2015
Under the hood
15
Alerting Use Cases
Scaling the PAYBACK platform for the US: plenti.com
16
Architecture
Search Meetup 2015
17
Alerting Use Case
easy with JSON structured logs
simplest use case: percolate on FATAL and ERROR log levels
alerts can be triggered for displaying on dashboards
also easy for enhanced use cases such as Monitoring of invariants: create alerts
whenever system goes outside of expected normal ranges
shift monitoring from reactive to proactive – be able to look for exceptional behavior
before it exhibits itself as a production problem
Search Meetup 2015
Using with ELK
18
Other use cases
Search Meetup 2015
Alerting based notifications
Having corresponding data in elastic search you can notify customer about
• new product release
• price change of a product (is below threshold)
• weather changes (snow, rain etc)
• stock changes
• what do you use?
19
Search Meetup 2015
Questions
&
Answers
source: https://www.flickr.com/photos/21496790@N06/5065834411/

More Related Content

What's hot (20)

PDF
Containerd Internals: Building a Core Container Runtime
Phil Estes
 
PDF
Svelte the future of frontend development
twilson63
 
PPTX
Why your Spark Job is Failing
DataWorks Summit
 
PPTX
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Fermin Galan
 
PDF
Repository and Unit Of Work Design Patterns
Hatim Hakeel
 
PDF
Introduction to Spark Internals
Pietro Michiardi
 
PDF
RedisConf17 - Lyft - Geospatial at Scale - Daniel Hochman
Redis Labs
 
PPTX
Apache hadoop hue overview and introduction
BigClasses Com
 
PPTX
Hydra: A Vocabulary for Hypermedia-Driven Web APIs
Markus Lanthaler
 
PDF
Etsy Activity Feeds Architecture
Dan McKinley
 
PPTX
FIWARE: Managing Context Information at large scale
Fermin Galan
 
ODP
Presto
Knoldus Inc.
 
PDF
An Introduction to Kubernetes
Imesh Gunaratne
 
PPTX
Airflow 101
SaarBergerbest
 
PDF
Deep Dive: Memory Management in Apache Spark
Databricks
 
PDF
Yarn by default (Spark on YARN)
Ferran Galí Reniu
 
PDF
SeaweedFS introduction
chrislusf
 
PPTX
An Introduction to Elastic Search.
Jurriaan Persyn
 
PPTX
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Hitachi, Ltd. OSS Solution Center.
 
PDF
Introduction to elasticsearch
hypto
 
Containerd Internals: Building a Core Container Runtime
Phil Estes
 
Svelte the future of frontend development
twilson63
 
Why your Spark Job is Failing
DataWorks Summit
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Fermin Galan
 
Repository and Unit Of Work Design Patterns
Hatim Hakeel
 
Introduction to Spark Internals
Pietro Michiardi
 
RedisConf17 - Lyft - Geospatial at Scale - Daniel Hochman
Redis Labs
 
Apache hadoop hue overview and introduction
BigClasses Com
 
Hydra: A Vocabulary for Hypermedia-Driven Web APIs
Markus Lanthaler
 
Etsy Activity Feeds Architecture
Dan McKinley
 
FIWARE: Managing Context Information at large scale
Fermin Galan
 
Presto
Knoldus Inc.
 
An Introduction to Kubernetes
Imesh Gunaratne
 
Airflow 101
SaarBergerbest
 
Deep Dive: Memory Management in Apache Spark
Databricks
 
Yarn by default (Spark on YARN)
Ferran Galí Reniu
 
SeaweedFS introduction
chrislusf
 
An Introduction to Elastic Search.
Jurriaan Persyn
 
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Hitachi, Ltd. OSS Solution Center.
 
Introduction to elasticsearch
hypto
 

Viewers also liked (12)

PDF
elasticsearch - advanced features in practice
Jano Suchal
 
PDF
Practical Elasticsearch - real world use cases
Itamar
 
PPTX
Elasticsearch Distributed search & analytics on BigData made easy
Itamar
 
PDF
Apache Kafka lessons learned @PAYBACK
Maxim Shelest
 
PPSX
How To Use Dropbox
Aimee Aventurado
 
PDF
Going Organic - Genomic sequence alignment in Elasticsearch
Zachary Tong
 
PDF
Rule engine
Vimal Kumar
 
PDF
IFTTT Introduction
Daiki Ichikawa
 
PPTX
BigData Search Simplified with ElasticSearch
TO THE NEW | Technology
 
PDF
An Introduction To ifttt
Tessa Horehled
 
PPTX
ElasticSearch Basic Introduction
Mayur Rathod
 
PPTX
Attack monitoring using ElasticSearch Logstash and Kibana
Prajal Kulkarni
 
elasticsearch - advanced features in practice
Jano Suchal
 
Practical Elasticsearch - real world use cases
Itamar
 
Elasticsearch Distributed search & analytics on BigData made easy
Itamar
 
Apache Kafka lessons learned @PAYBACK
Maxim Shelest
 
How To Use Dropbox
Aimee Aventurado
 
Going Organic - Genomic sequence alignment in Elasticsearch
Zachary Tong
 
Rule engine
Vimal Kumar
 
IFTTT Introduction
Daiki Ichikawa
 
BigData Search Simplified with ElasticSearch
TO THE NEW | Technology
 
An Introduction To ifttt
Tessa Horehled
 
ElasticSearch Basic Introduction
Mayur Rathod
 
Attack monitoring using ElasticSearch Logstash and Kibana
Prajal Kulkarni
 
Ad

Similar to Use Cases for Elastic Search Percolator (20)

PPTX
Scaling Saved Searches at eBay Kleinanzeigen
Andre Charton
 
PDF
Introduction to Elasticsearch
Ruslan Zavacky
 
PDF
DIY Percolator
jdhok
 
PDF
Jinchao demo v3
Jinchao Lin
 
PDF
Elasticsearch Introduction at BigData meetup
Eric Rodriguez (Hiring in Lex)
 
PDF
Elasticsearch for Logs & Metrics - a deep dive
Sematext Group, Inc.
 
PPT
How ElasticSearch lives in my DevOps life
琛琳 饶
 
PPTX
Elasticsearch - DevNexus 2015
Roy Russo
 
PDF
Be lazy & scale
logmatic.io
 
PPTX
ElasticSearch AJUG 2013
Roy Russo
 
PDF
Elasticsearch speed is key
Enterprise Search Warsaw Meetup
 
PPTX
Centralized log-management-with-elastic-stack
Rich Lee
 
PDF
Roaring with elastic search sangam2018
Vinay Kumar
 
PDF
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Edureka!
 
PDF
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibana
pkill
 
PDF
Elasticsearch at EyeEm
Lars Fronius
 
PDF
Pablo Musa - Managing your Black Friday Logs - Codemotion Amsterdam 2019
Codemotion
 
PPTX
ElasticSearch - DevNexus Atlanta - 2014
Roy Russo
 
PDF
ElasticSearch & Elastica in Symfony2 - SfLive 2015
Nicolas Badey
 
PPTX
Getting Started With Elasticsearch In .NET
Ahmed Abd Ellatif
 
Scaling Saved Searches at eBay Kleinanzeigen
Andre Charton
 
Introduction to Elasticsearch
Ruslan Zavacky
 
DIY Percolator
jdhok
 
Jinchao demo v3
Jinchao Lin
 
Elasticsearch Introduction at BigData meetup
Eric Rodriguez (Hiring in Lex)
 
Elasticsearch for Logs & Metrics - a deep dive
Sematext Group, Inc.
 
How ElasticSearch lives in my DevOps life
琛琳 饶
 
Elasticsearch - DevNexus 2015
Roy Russo
 
Be lazy & scale
logmatic.io
 
ElasticSearch AJUG 2013
Roy Russo
 
Elasticsearch speed is key
Enterprise Search Warsaw Meetup
 
Centralized log-management-with-elastic-stack
Rich Lee
 
Roaring with elastic search sangam2018
Vinay Kumar
 
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Edureka!
 
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibana
pkill
 
Elasticsearch at EyeEm
Lars Fronius
 
Pablo Musa - Managing your Black Friday Logs - Codemotion Amsterdam 2019
Codemotion
 
ElasticSearch - DevNexus Atlanta - 2014
Roy Russo
 
ElasticSearch & Elastica in Symfony2 - SfLive 2015
Nicolas Badey
 
Getting Started With Elasticsearch In .NET
Ahmed Abd Ellatif
 
Ad

Recently uploaded (20)

PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
July Patch Tuesday
Ivanti
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 

Use Cases for Elastic Search Percolator