SlideShare a Scribd company logo
APACHE SLING & FRIENDS TECH MEETUP 
BERLIN, 22-24 SEPTEMBER 2014 
Integrating ElasticSearch with AEM 
Vivek Sachdeva, Intelligrape Software @vivek_sach
Agenda 
 Introduction to ElasticSearch 
 Analyzing Data 
 Integration with AEM 
 Approaches Considered 
 Features Integrated 
 Extension Points 
adaptTo() 2014 2
About Me :) 
 Started career as Java Developer in 2010 
 Worked on Groovy and Grails 
 Currently working as AEM(plus Groovy) Developer 
 Intelligrape Software 
 vivek.sachdeva@intelligrape.com 
 in.linkedin.com/pub/vivek-sachdeva/20/192/934/ 
adaptTo() 2014 3
Elastic Search – An Introduction 
adaptTo() 2014 4
What & Why?? 
 ElasticSearch is a distributed, RESTful, free/open 
source search server 
 Based on Apache Lucene 
 Developed by Shay Banon 
 Latest Version – 1.2 
 Rich support for Perl, Java, Javascript, Ruby, 
Node and a lot more clients 
adaptTo() 2014 5
What & Why?? 
 Document Oriented and Schema free 
 Support for multi-tenancy 
 Support for dynamic schema update 
 High Performance 
 Just like JCR 
 Support for complex(nested) documents that can go to any 
level 
adaptTo() 2014 6
ElasticSearch Server View 
adaptTo() 2014 7
Index Creation 
adaptTo() 2014 8
Fail Safe 
adaptTo() 2014 9
Analyzing Data 
adaptTo() 2014 10
How to Index?? 
 First step is to identify the relevant data 
 Every novel is a mystery novel. 
 Strangely I have not read any. 
adaptTo() 2014 11
Bad Indexing 
 Every novel is a 
mystery novel. 
 Strangely I have not 
read any. 
adaptTo() 2014 12
Smart Indexing!! 
adaptTo() 2014 13
Integrating with AEM 
adaptTo() 2014 14
What All is Needed?? 
 ElasticSearch Server 
 CQ instance.. :) 
 Front end for browsing and interacting with an Elastic 
Search cluster. (Optional) 
http://mobz.github.io/elasticsearch-head/ 
Thats it... 
adaptTo() 2014 15
ElasticSearch dependency 
 Available in Maven repository 
<dependency> 
<groupId>org.elasticsearch</groupId> 
<artifactId>elasticsearch</artifactId> 
<version>1.2.0</version> 
</dependency> 
adaptTo() 2014 16
Approaches Considered 
adaptTo() 2014 17
Push & Pull Indexing 
 Push Indexing 
 CQ Server pushes data to Elastic Server 
whenever needed 
 Pull Indexing 
 ElasticSearch Server pulls data at regular intervals 
and indexes it 
adaptTo() 2014 18
Push Indexing.. Using Replication Agent 
adaptTo() 2014 19
Push Indexing... Using Replication Agent 
 Create Serialization Type and setup a replication 
agent. 
@Component(label = "Elastic Replication Content Builder", description = "This servlet 
replicates data to Elastic", immediate = true, enabled = true, metatype = true) 
@Service(ContentBuilder.class) 
class ElasticReplicationContentBuilderImpl implements ContentBuilder{ 
//Override create method 
} 
adaptTo() 2014 20
Push Indexing... Using Replication Agent 
Pros: 
 Data can be pushed as and 
when needed. 
adaptTo() 2014 21
Pull Indexing 
adaptTo() 2014 22
Features Integrated 
adaptTo() 2014 23
Features Integrated 
 Basic Aggregation 
 Tag based faceting 
 Free Text Search 
 Finding all pages in order of relevancy based on 
some text 
adaptTo() 2014 24
Facet 
adaptTo() 2014 25
DEMO 
adaptTo() 2014 26
More Cool Features/Extension Points... 
adaptTo() 2014 27
Geo Facet 
Lets say we need to 
find all restaurants 
that are within 1 
mile 
adaptTo() 2014 28
Advanced Aggregation 
aggregations: { 
group_by_state: { 
buckets: [ 
{ key: wv 
doc_count: 1 
average_age: { 
value: 22 
} } 
{ key: al 
doc_count: 2 
average_age: { 
value: 22 
} } 
] 
…............... 
Group all the employees 
of an MNC by project 
location and find 
average age of each 
group. 
adaptTo() 2014 29
Percolator – Search.... Reversed..... 
Tag all mails from Finance 
as important 
adaptTo() 2014 30
Ease of Clustering 
adaptTo() 2014 31
DEMO 
adaptTo() 2014 32
Appendix 
adaptTo() 2014 33
Appendix 
 http://www.elasticsearch.com/ 
 http://www.elasticsearch.org/guide/ 
 https://forums.adobe.com 
 Google :) 
adaptTo() 2014 34
Where is the code?? 
● https://github.com/viveksachdeva 
/elasticsearch-cq.git 
adaptTo() 2014 35

More Related Content

PDF
JCR, Sling or AEM? Which API should I use and when?
PDF
Understanding Sling Models in AEM
PPTX
Sling models by Justin Edelson
PPTX
Rest and Sling Resolution
PPTX
Sling Models Overview
PDF
Basics of Solr and Solr Integration with AEM6
ODP
Angular 4 The new Http Client Module
PPTX
AEM and Sling
JCR, Sling or AEM? Which API should I use and when?
Understanding Sling Models in AEM
Sling models by Justin Edelson
Rest and Sling Resolution
Sling Models Overview
Basics of Solr and Solr Integration with AEM6
Angular 4 The new Http Client Module
AEM and Sling

What's hot (20)

PPT
Solr Presentation
PDF
React js
PDF
Elk - An introduction
PPTX
React-JS.pptx
PPT
ASP.NET MVC Presentation
PPTX
PPTX
Angular 5 presentation for beginners
PDF
Inter-Sling communication with message queue
PPTX
Presentation1.pptx
PDF
애플리케이션 아키텍처와 객체지향
PPTX
Integrating NiFi and Flink
PPTX
Introduction to angular with a simple but complete project
PDF
Aem dispatcher – tips & tricks
PDF
WebTech Tutorial Querying DBPedia
PDF
Deep Dive into Docker Swarm Mode
PPTX
Spring MVC
PDF
Reactjs workshop (1)
PDF
Angular - Chapter 7 - HTTP Services
PDF
AEM Best Practices for Component Development
ODP
Basics of VueJS
Solr Presentation
React js
Elk - An introduction
React-JS.pptx
ASP.NET MVC Presentation
Angular 5 presentation for beginners
Inter-Sling communication with message queue
Presentation1.pptx
애플리케이션 아키텍처와 객체지향
Integrating NiFi and Flink
Introduction to angular with a simple but complete project
Aem dispatcher – tips & tricks
WebTech Tutorial Querying DBPedia
Deep Dive into Docker Swarm Mode
Spring MVC
Reactjs workshop (1)
Angular - Chapter 7 - HTTP Services
AEM Best Practices for Component Development
Basics of VueJS
Ad

Viewers also liked (11)

PDF
Oak / Solr integration
PDF
Implementing Site Search in CQ5 / AEM
PPTX
Big Data Pipeline and Analytics Platform Using NetflixOSS and Other Open Sour...
PPTX
Scaling an ELK stack at bol.com
PPTX
Do you need an external search platform for Adobe Experience Manager?
PPTX
Consuming External Content and Enriching Content with Apache Camel
PDF
Apache SOLR in AEM 6
PPTX
adaptTo() 2014 - Integrating Open Source Search with CQ/AEM
PPTX
Introduction to ELK
PPSX
What I learnt: Elastic search & Kibana : introduction, installtion & configur...
PPTX
The Elastic ELK Stack
Oak / Solr integration
Implementing Site Search in CQ5 / AEM
Big Data Pipeline and Analytics Platform Using NetflixOSS and Other Open Sour...
Scaling an ELK stack at bol.com
Do you need an external search platform for Adobe Experience Manager?
Consuming External Content and Enriching Content with Apache Camel
Apache SOLR in AEM 6
adaptTo() 2014 - Integrating Open Source Search with CQ/AEM
Introduction to ELK
What I learnt: Elastic search & Kibana : introduction, installtion & configur...
The Elastic ELK Stack
Ad

Similar to Elastic search adaptto2014 (20)

PPTX
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
PPTX
Machine translation survey - vol1
PPTX
Deploying Web Apps with PaaS and Docker Tools
PDF
Sling IDE Tooling
PDF
Stmik bandung
PDF
The DevOps Paradigm
PDF
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
PPTX
Azure HDInsight
PDF
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
PPTX
Nyc mule soft_meetup_13_march_2021
PDF
Serverless GraphQL for Product Developers
PDF
Prototyping applications with heroku and elasticsearch
PDF
PPTX
PDF
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
PDF
Gluecon Preso: Hybrid Container Infrastructure
PPTX
Solving Top Cloud Problems MODAClouds Toolbox
PDF
Node summit workshop
PPTX
Keynote - Oleg Barenboim - ManageIQ Design Summit 2016
PDF
Express node js
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Machine translation survey - vol1
Deploying Web Apps with PaaS and Docker Tools
Sling IDE Tooling
Stmik bandung
The DevOps Paradigm
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
Azure HDInsight
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Nyc mule soft_meetup_13_march_2021
Serverless GraphQL for Product Developers
Prototyping applications with heroku and elasticsearch
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Gluecon Preso: Hybrid Container Infrastructure
Solving Top Cloud Problems MODAClouds Toolbox
Node summit workshop
Keynote - Oleg Barenboim - ManageIQ Design Summit 2016
Express node js

Recently uploaded (20)

PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
PPTX
assetexplorer- product-overview - presentation
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Nekopoi APK 2025 free lastest update
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Transform Your Business with a Software ERP System
PDF
Cost to Outsource Software Development in 2025
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Salesforce Agentforce AI Implementation.pdf
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
assetexplorer- product-overview - presentation
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Digital Systems & Binary Numbers (comprehensive )
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Nekopoi APK 2025 free lastest update
17 Powerful Integrations Your Next-Gen MLM Software Needs
Computer Software and OS of computer science of grade 11.pptx
Transform Your Business with a Software ERP System
Cost to Outsource Software Development in 2025
Advanced SystemCare Ultimate Crack + Portable (2025)
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
Complete Guide to Website Development in Malaysia for SMEs
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Salesforce Agentforce AI Implementation.pdf
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Operating system designcfffgfgggggggvggggggggg
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency

Elastic search adaptto2014

  • 1. APACHE SLING & FRIENDS TECH MEETUP BERLIN, 22-24 SEPTEMBER 2014 Integrating ElasticSearch with AEM Vivek Sachdeva, Intelligrape Software @vivek_sach
  • 2. Agenda  Introduction to ElasticSearch  Analyzing Data  Integration with AEM  Approaches Considered  Features Integrated  Extension Points adaptTo() 2014 2
  • 3. About Me :)  Started career as Java Developer in 2010  Worked on Groovy and Grails  Currently working as AEM(plus Groovy) Developer  Intelligrape Software  [email protected]  in.linkedin.com/pub/vivek-sachdeva/20/192/934/ adaptTo() 2014 3
  • 4. Elastic Search – An Introduction adaptTo() 2014 4
  • 5. What & Why??  ElasticSearch is a distributed, RESTful, free/open source search server  Based on Apache Lucene  Developed by Shay Banon  Latest Version – 1.2  Rich support for Perl, Java, Javascript, Ruby, Node and a lot more clients adaptTo() 2014 5
  • 6. What & Why??  Document Oriented and Schema free  Support for multi-tenancy  Support for dynamic schema update  High Performance  Just like JCR  Support for complex(nested) documents that can go to any level adaptTo() 2014 6
  • 7. ElasticSearch Server View adaptTo() 2014 7
  • 11. How to Index??  First step is to identify the relevant data  Every novel is a mystery novel.  Strangely I have not read any. adaptTo() 2014 11
  • 12. Bad Indexing  Every novel is a mystery novel.  Strangely I have not read any. adaptTo() 2014 12
  • 14. Integrating with AEM adaptTo() 2014 14
  • 15. What All is Needed??  ElasticSearch Server  CQ instance.. :)  Front end for browsing and interacting with an Elastic Search cluster. (Optional) http://mobz.github.io/elasticsearch-head/ Thats it... adaptTo() 2014 15
  • 16. ElasticSearch dependency  Available in Maven repository <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>1.2.0</version> </dependency> adaptTo() 2014 16
  • 18. Push & Pull Indexing  Push Indexing  CQ Server pushes data to Elastic Server whenever needed  Pull Indexing  ElasticSearch Server pulls data at regular intervals and indexes it adaptTo() 2014 18
  • 19. Push Indexing.. Using Replication Agent adaptTo() 2014 19
  • 20. Push Indexing... Using Replication Agent  Create Serialization Type and setup a replication agent. @Component(label = "Elastic Replication Content Builder", description = "This servlet replicates data to Elastic", immediate = true, enabled = true, metatype = true) @Service(ContentBuilder.class) class ElasticReplicationContentBuilderImpl implements ContentBuilder{ //Override create method } adaptTo() 2014 20
  • 21. Push Indexing... Using Replication Agent Pros:  Data can be pushed as and when needed. adaptTo() 2014 21
  • 24. Features Integrated  Basic Aggregation  Tag based faceting  Free Text Search  Finding all pages in order of relevancy based on some text adaptTo() 2014 24
  • 27. More Cool Features/Extension Points... adaptTo() 2014 27
  • 28. Geo Facet Lets say we need to find all restaurants that are within 1 mile adaptTo() 2014 28
  • 29. Advanced Aggregation aggregations: { group_by_state: { buckets: [ { key: wv doc_count: 1 average_age: { value: 22 } } { key: al doc_count: 2 average_age: { value: 22 } } ] …............... Group all the employees of an MNC by project location and find average age of each group. adaptTo() 2014 29
  • 30. Percolator – Search.... Reversed..... Tag all mails from Finance as important adaptTo() 2014 30
  • 31. Ease of Clustering adaptTo() 2014 31
  • 34. Appendix  http://www.elasticsearch.com/  http://www.elasticsearch.org/guide/  https://forums.adobe.com  Google :) adaptTo() 2014 34
  • 35. Where is the code?? ● https://github.com/viveksachdeva /elasticsearch-cq.git adaptTo() 2014 35