Implementing Site Search in CQ5 / AEM

R
IMPLEMENTING SITE SEARCH IN CQ5/AEM
DEVANG SHAH, I-CUBED


Session Outline
 Importance of site search functionality
 CQ5 internal search workings & limitations
 Integrating CQ5 with external search engines &

challenges
 Indexing patterns for integrating with external
search engines
 Q&A


Site Search is one of the core
functionality of most websites



Browse v/s Search: Alternate methods
of allowing visitors to find the
information they need quickly and
easily



“90 percent of companies report
that search is the No.1 means of
navigation on their site”
-- Forrester Research

“82 percent of visitors use site
search to find the information they
need”
-- Juniper Research

Advances in search features, which
allows site visitors to:





Auto complete/auto correct search terms
Build advanced queries,
Filter results by facets,
Search results refined by location,
preferences, previous history, etc

“Visitors who used site search
were “more likely to convert from
browsers to buyers”.”
-- Juniper Research
•

Jackrabbit internally uses Lucene to
Index repository content

•

Whenever any content is modified, along
with it getting stored in repository,
lucene index is also updated

•

Index Location:
<crx-quickstart>/repository:
• repository/index
• workspaces/crx.default/index

•

Index Configuration:
• Repository.xml & workspaces.xml
<SearchIndex> block
• tika-config.xml in workspaces
folder

•

Changes in new version of Jackrabbit (3.x
/ Oak)
•

Jackrabbit
• JCR Spec 1.0: Support for XPATH &
JCR SQL1
• JCR Spec 2.0: Support for JCR
SQL2. Support for XPATH
deprecated in JCR 2.0 but
Jackrabbit still supports it
• Both SQL & XPATH queries are
translated to same search tree

•

Query Builder is an API to build queries
for a query engine

•

CQ providers several OOTB components
& extensions which leverages
QueryBuilder API for full text or predicate
based searches

•

OOTB Search Component provides
support for full text query and enhanced
search features: similar pages, facets
support, pagination, etc


Use Case: Non CQ Content Sources





Use Case: Author v/s Visitor Search Patterns





CQ generates one index per server
Author and visitor search patterns and requirements are typically different

Performance & Architecture Considerations






Larger sites with more than one source of content and assets.
Difficult to index non-CQ content

‘n’ number of queries and search variations – making it difficult to utilize CQ caching
architecture
Jackrabbit layer on top of Lucene may slow down search and query performance
Scaling of search architecture dependent upon CQ architecture

Customizations




Utilizing different content parsers, index tuning, etc (mitigated in 5.6.1)
Can I use newer version of Lucene?
How can I extend Jackrabbit search implementation?


External Search Platforms
 Search Providers with Crawlers (examples):
▪ Google Search Appliance
▪ Microsoft FAST

 Non-crawler Search Providers (examples):
▪ Endeca
▪ Lucene/Solr



Enables independent scaling of search platform



Supports more than one content sources



Configuration & customization of search application is decoupled from
CQ5 application



May provide more advanced search features (faceted search, geospatial
search, personalization, etc)


Challenges building & managing search indexes
 Building Site Index: Crawl or Query & Inject?
 How often should index be rebuilt?
 How to ensure that content & metadata between content

sources and search index is always in sync?
 In case of multiple data sources, how to manage
duplicates, index structure and common metadata model?


Challenges querying & building search results
 Should search results page be hosted on the provider’s

platform or within CQ?
 Does search provider offer extended API to query and
build search results within the application?
Implementing Site Search in CQ5 / AEM


Integration Notes:
 GSA, FAST Site Crawler, Endeca’s Plugin for CRX Indexing, Solr via open

Source crawlers (Nutch, etc)
 May require custom service which returns data (for example for Solr, Endeca)


Pros:
 Ease of implementation
 Indexes rendered version of the pages



Cons:
 Lag between content publishing and index update process may result in out

of sync search results experience. Also, what happens to deleted content?
 Larger index crawl and build times
 Search index doesn’t have complete set of meta-data
Implementing Site Search in CQ5 / AEM


Example – CQ / FAST connector (available via service pack)



Pros:
⁻ Search index always in sync with content repository
⁻ Ability to send metadata with content
⁻ Customizable data formats and allows for partial indexing of

page



Cons:
⁻ Will require custom development efforts
⁻ Indexing of content instead of rendered version of the pages
⁻ System Performance / Event Handling
Implementing Site Search in CQ5 / AEM
Implementing Site Search in CQ5 / AEM


Pros:
⁻ Search index (mostly) in sync with content repository
⁻ Ability to send metadata with content
⁻ Customizable data formats and allows for partial indexing

of page
⁻ Minimal replication event processing


Cons:
⁻ Will require custom development efforts
⁻ Search index may get out of sync with content repository

(but for a shorter duration only)
⁻ Indexing of content instead of rendered version of the
pages


Handling initial content load & index creation
 In case of content push approach, how will initial index be generated? May

need to create initial baseline via site crawl or custom service
 In case of content pull approach, how will index reflect deleted, moved, site
pages?


Permission sensitive site pages & assets
 Option 1: Export ACLs to Search Provider (example: CQ/FAST Connector)
 Option 2: Check user permission via CQ at run time (similar to how CQ handles

delivery of content incase of closed user groups)



Referenced assets, content pages and promos
 Option: Query referenced pages and index. May cause performance (&

recursive index) issue though.
 Option: Selective content indexing (Index parts of page instead of entire page)
Implementing Site Search in CQ5 / AEM
1 de 17

Recomendados

Effective Searching by Dominik Kornas por
Effective Searching by Dominik KornasEffective Searching by Dominik Kornas
Effective Searching by Dominik KornasAEM HUB
1.5K vistas43 diapositivas
Do you need an external search platform for Adobe Experience Manager? por
Do you need an external search platform for Adobe Experience Manager?Do you need an external search platform for Adobe Experience Manager?
Do you need an external search platform for Adobe Experience Manager?therealgaston
2.2K vistas33 diapositivas
Consuming External Content and Enriching Content with Apache Camel por
Consuming External Content and Enriching Content with Apache CamelConsuming External Content and Enriching Content with Apache Camel
Consuming External Content and Enriching Content with Apache Cameltherealgaston
1.7K vistas38 diapositivas
SharePoint Framework, React, and Office UI Fabric spc adriatics 2016 por
SharePoint Framework, React, and Office UI Fabric spc adriatics 2016SharePoint Framework, React, and Office UI Fabric spc adriatics 2016
SharePoint Framework, React, and Office UI Fabric spc adriatics 2016Sonja Madsen
589 vistas34 diapositivas
How to migrate from any CMS (thru the front-door) por
How to migrate from any CMS (thru the front-door)How to migrate from any CMS (thru the front-door)
How to migrate from any CMS (thru the front-door)ICF CIRCUIT
1.4K vistas14 diapositivas
EVOLVE'13 | Enhance | External Search | Matthias Wermund por
EVOLVE'13 | Enhance | External Search | Matthias WermundEVOLVE'13 | Enhance | External Search | Matthias Wermund
EVOLVE'13 | Enhance | External Search | Matthias WermundEvolve The Adobe Digital Marketing Community
1.4K vistas34 diapositivas

Más contenido relacionado

La actualidad más candente

Azure search por
Azure searchAzure search
Azure searchazurekanio
1.2K vistas15 diapositivas
Gab2015 azure search as a service por
Gab2015 azure search as a serviceGab2015 azure search as a service
Gab2015 azure search as a serviceAlexandre Marreiros
1.1K vistas32 diapositivas
HAL APIs and Ember Data por
HAL APIs and Ember DataHAL APIs and Ember Data
HAL APIs and Ember DataCory Forsyth
2.5K vistas33 diapositivas
Building Ext JS Using HATEOAS - Jeff Stano por
Building Ext JS Using HATEOAS - Jeff StanoBuilding Ext JS Using HATEOAS - Jeff Stano
Building Ext JS Using HATEOAS - Jeff StanoSencha
767 vistas17 diapositivas
SharePoint 2013 REST API & Remote Authentication por
SharePoint 2013 REST API & Remote AuthenticationSharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote AuthenticationAdil Ansari
16K vistas18 diapositivas
Deep-Dive to Azure Search por
Deep-Dive to Azure SearchDeep-Dive to Azure Search
Deep-Dive to Azure SearchGunnar Peipman
1.8K vistas35 diapositivas

La actualidad más candente(20)

Azure search por azurekanio
Azure searchAzure search
Azure search
azurekanio1.2K vistas
HAL APIs and Ember Data por Cory Forsyth
HAL APIs and Ember DataHAL APIs and Ember Data
HAL APIs and Ember Data
Cory Forsyth2.5K vistas
Building Ext JS Using HATEOAS - Jeff Stano por Sencha
Building Ext JS Using HATEOAS - Jeff StanoBuilding Ext JS Using HATEOAS - Jeff Stano
Building Ext JS Using HATEOAS - Jeff Stano
Sencha767 vistas
SharePoint 2013 REST API & Remote Authentication por Adil Ansari
SharePoint 2013 REST API & Remote AuthenticationSharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote Authentication
Adil Ansari16K vistas
Deep-Dive to Azure Search por Gunnar Peipman
Deep-Dive to Azure SearchDeep-Dive to Azure Search
Deep-Dive to Azure Search
Gunnar Peipman1.8K vistas
Kql and the content search web part por InnoTech
Kql and the content search web part Kql and the content search web part
Kql and the content search web part
InnoTech2.9K vistas
Adding azuresearch por Evan Boyle
Adding azuresearchAdding azuresearch
Adding azuresearch
Evan Boyle263 vistas
Introduction to the SharePoint 2013 REST API por Sparkhound Inc.
Introduction to the SharePoint 2013 REST APIIntroduction to the SharePoint 2013 REST API
Introduction to the SharePoint 2013 REST API
Sparkhound Inc.1.5K vistas
Cloud Security Monitoring and Spark Analytics por amesar0
Cloud Security Monitoring and Spark AnalyticsCloud Security Monitoring and Spark Analytics
Cloud Security Monitoring and Spark Analytics
amesar01K vistas
(ATS6-PLAT04) Query service por BIOVIA
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service
BIOVIA736 vistas
Taking Advantage of the SharePoint 2013 REST API por Eric Shupps
Taking Advantage of the SharePoint 2013 REST APITaking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST API
Eric Shupps19K vistas
Azure search por Raju Kumar
Azure searchAzure search
Azure search
Raju Kumar1.1K vistas
40+ tips to use Postman more efficiently por postmanclient
40+ tips to use Postman more efficiently40+ tips to use Postman more efficiently
40+ tips to use Postman more efficiently
postmanclient111.7K vistas
5 Reasons Your Site Needs Acquia Search por Acquia
5 Reasons Your Site Needs Acquia Search5 Reasons Your Site Needs Acquia Search
5 Reasons Your Site Needs Acquia Search
Acquia305 vistas
Search domain basics por pmanvi
Search domain basicsSearch domain basics
Search domain basics
pmanvi492 vistas
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark por Lucidworks
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & SparkWebinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
Lucidworks917 vistas
How_To_Soup_Up_Your_Farm por Nigel Price
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
Nigel Price84 vistas
Melbourne User Group OAK and MongoDB por Yuval Ararat
Melbourne User Group OAK and MongoDBMelbourne User Group OAK and MongoDB
Melbourne User Group OAK and MongoDB
Yuval Ararat1.4K vistas

Destacado

Apache SOLR in AEM 6 por
Apache SOLR in AEM 6Apache SOLR in AEM 6
Apache SOLR in AEM 6Yash Mody
8.9K vistas16 diapositivas
Basics of Solr and Solr Integration with AEM6 por
Basics of Solr and Solr Integration with AEM6Basics of Solr and Solr Integration with AEM6
Basics of Solr and Solr Integration with AEM6DEEPAK KHETAWAT
6.4K vistas41 diapositivas
Omnisearch in AEM 6.2 - Search All the Things por
Omnisearch in AEM 6.2 - Search All the ThingsOmnisearch in AEM 6.2 - Search All the Things
Omnisearch in AEM 6.2 - Search All the ThingsJustin Edelson
4K vistas34 diapositivas
CQ5 QueryBuilder - .adaptTo(Berlin) 2011 por
CQ5 QueryBuilder - .adaptTo(Berlin) 2011CQ5 QueryBuilder - .adaptTo(Berlin) 2011
CQ5 QueryBuilder - .adaptTo(Berlin) 2011Alexander Klimetschek
14.9K vistas25 diapositivas
EVOLVE'15 | Enhance| Christian Meyer & Andreea Sandru | AEM User interfacecus... por
EVOLVE'15 | Enhance| Christian Meyer & Andreea Sandru | AEM User interfacecus...EVOLVE'15 | Enhance| Christian Meyer & Andreea Sandru | AEM User interfacecus...
EVOLVE'15 | Enhance| Christian Meyer & Andreea Sandru | AEM User interfacecus...Evolve The Adobe Digital Marketing Community
1.3K vistas29 diapositivas
Khushal Patil New por
Khushal Patil NewKhushal Patil New
Khushal Patil NewKhushalnana Patil
116 vistas4 diapositivas

Destacado(20)

Apache SOLR in AEM 6 por Yash Mody
Apache SOLR in AEM 6Apache SOLR in AEM 6
Apache SOLR in AEM 6
Yash Mody8.9K vistas
Basics of Solr and Solr Integration with AEM6 por DEEPAK KHETAWAT
Basics of Solr and Solr Integration with AEM6Basics of Solr and Solr Integration with AEM6
Basics of Solr and Solr Integration with AEM6
DEEPAK KHETAWAT6.4K vistas
Omnisearch in AEM 6.2 - Search All the Things por Justin Edelson
Omnisearch in AEM 6.2 - Search All the ThingsOmnisearch in AEM 6.2 - Search All the Things
Omnisearch in AEM 6.2 - Search All the Things
Justin Edelson4K vistas
Neha Gupta - AIR Mobile: Cross promotion por Flash Conference
Neha Gupta - AIR Mobile: Cross promotionNeha Gupta - AIR Mobile: Cross promotion
Neha Gupta - AIR Mobile: Cross promotion
Flash Conference1.2K vistas
Adobe Experience Manager (AEM) - Multilingual SIG on SEO - Dave Lloyd por Dave Lloyd
Adobe Experience Manager (AEM) - Multilingual SIG on SEO - Dave LloydAdobe Experience Manager (AEM) - Multilingual SIG on SEO - Dave Lloyd
Adobe Experience Manager (AEM) - Multilingual SIG on SEO - Dave Lloyd
Dave Lloyd3.8K vistas
AEM 6.2 -Assets - Creating engaging experience at scale por Kevin Farley
AEM 6.2 -Assets - Creating engaging experience at scaleAEM 6.2 -Assets - Creating engaging experience at scale
AEM 6.2 -Assets - Creating engaging experience at scale
Kevin Farley482 vistas
JCR, Sling or AEM? Which API should I use and when? por connectwebex
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?
connectwebex12K vistas
AEM 6 DAM - Integrations, Integrations, Integrations por connectwebex
AEM 6 DAM - Integrations, Integrations, IntegrationsAEM 6 DAM - Integrations, Integrations, Integrations
AEM 6 DAM - Integrations, Integrations, Integrations
connectwebex939 vistas
adaptTo() 2014 - Integrating Open Source Search with CQ/AEM por therealgaston
adaptTo() 2014 - Integrating Open Source Search with CQ/AEMadaptTo() 2014 - Integrating Open Source Search with CQ/AEM
adaptTo() 2014 - Integrating Open Source Search with CQ/AEM
therealgaston11.7K vistas
Creating Real-Time Data Mashups with Node.JS and Adobe CQ por iCiDIGITAL
Creating Real-Time Data Mashups with Node.JS and Adobe CQCreating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
iCiDIGITAL4.2K vistas
Adobe Marketing Cloud Integration with Adobe AEM por Deepak Narisety
Adobe Marketing Cloud Integration with Adobe AEMAdobe Marketing Cloud Integration with Adobe AEM
Adobe Marketing Cloud Integration with Adobe AEM
Deepak Narisety1.5K vistas
AEM & eCommerce integration por Lokesh BS
AEM & eCommerce integrationAEM & eCommerce integration
AEM & eCommerce integration
Lokesh BS2.5K vistas

Similar a Implementing Site Search in CQ5 / AEM

SharePoint User Group Meeting- SharePoint 2013 Search por
SharePoint User Group Meeting- SharePoint 2013 SearchSharePoint User Group Meeting- SharePoint 2013 Search
SharePoint User Group Meeting- SharePoint 2013 SearchC/D/H Technology Consultants
1.1K vistas27 diapositivas
Web Scale Discovery Vs Federated Search por
Web Scale Discovery Vs Federated SearchWeb Scale Discovery Vs Federated Search
Web Scale Discovery Vs Federated SearchNikesh Narayanan
6K vistas7 diapositivas
Fried dallas spug por
Fried dallas spugFried dallas spug
Fried dallas spugJeff Fried
540 vistas81 diapositivas
Evaluation of web scale discovery services por
Evaluation of web scale discovery servicesEvaluation of web scale discovery services
Evaluation of web scale discovery servicesNikesh Narayanan
1K vistas56 diapositivas
IRJET-Deep Web Crawling Efficiently using Dynamic Focused Web Crawler por
IRJET-Deep Web Crawling Efficiently using Dynamic Focused Web CrawlerIRJET-Deep Web Crawling Efficiently using Dynamic Focused Web Crawler
IRJET-Deep Web Crawling Efficiently using Dynamic Focused Web CrawlerIRJET Journal
28 vistas4 diapositivas
Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen... por
Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen...Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen...
Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen...Sezai Komur
12.3K vistas59 diapositivas

Similar a Implementing Site Search in CQ5 / AEM(20)

Web Scale Discovery Vs Federated Search por Nikesh Narayanan
Web Scale Discovery Vs Federated SearchWeb Scale Discovery Vs Federated Search
Web Scale Discovery Vs Federated Search
Nikesh Narayanan6K vistas
Fried dallas spug por Jeff Fried
Fried dallas spugFried dallas spug
Fried dallas spug
Jeff Fried540 vistas
Evaluation of web scale discovery services por Nikesh Narayanan
Evaluation of web scale discovery servicesEvaluation of web scale discovery services
Evaluation of web scale discovery services
Nikesh Narayanan1K vistas
IRJET-Deep Web Crawling Efficiently using Dynamic Focused Web Crawler por IRJET Journal
IRJET-Deep Web Crawling Efficiently using Dynamic Focused Web CrawlerIRJET-Deep Web Crawling Efficiently using Dynamic Focused Web Crawler
IRJET-Deep Web Crawling Efficiently using Dynamic Focused Web Crawler
IRJET Journal28 vistas
Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen... por Sezai Komur
Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen...Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen...
Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen...
Sezai Komur12.3K vistas
CREATE SEARCH DRIVEN BUSINESS INTELLIGENCE APPLICATION USING FAST SEARCH FO... por Netwoven Inc.
CREATE SEARCH DRIVEN BUSINESS  INTELLIGENCE APPLICATION USING  FAST SEARCH FO...CREATE SEARCH DRIVEN BUSINESS  INTELLIGENCE APPLICATION USING  FAST SEARCH FO...
CREATE SEARCH DRIVEN BUSINESS INTELLIGENCE APPLICATION USING FAST SEARCH FO...
Netwoven Inc. 1.5K vistas
#SPSPhilly search topology & optimization por Mike Maadarani
#SPSPhilly search topology & optimization#SPSPhilly search topology & optimization
#SPSPhilly search topology & optimization
Mike Maadarani771 vistas
A machine learning approach to web page filtering using ... por butest
A machine learning approach to web page filtering using ...A machine learning approach to web page filtering using ...
A machine learning approach to web page filtering using ...
butest1.2K vistas
A machine learning approach to web page filtering using ... por butest
A machine learning approach to web page filtering using ...A machine learning approach to web page filtering using ...
A machine learning approach to web page filtering using ...
butest1.1K vistas
ESPC13 - 10 Things I Like in SharePoint 2013 Search por Agnes Molnar
ESPC13 - 10 Things I Like in SharePoint 2013 SearchESPC13 - 10 Things I Like in SharePoint 2013 Search
ESPC13 - 10 Things I Like in SharePoint 2013 Search
Agnes Molnar669 vistas
Fried houston spug por Jeff Fried
Fried houston spugFried houston spug
Fried houston spug
Jeff Fried421 vistas
Google search vs Solr search for Enterprise search por Veera Shekar
Google search vs Solr search for Enterprise searchGoogle search vs Solr search for Enterprise search
Google search vs Solr search for Enterprise search
Veera Shekar2.4K vistas
SharePoint 2013 Search - Whats new for End Users por Mark Stokes
SharePoint 2013 Search - Whats new for End UsersSharePoint 2013 Search - Whats new for End Users
SharePoint 2013 Search - Whats new for End Users
Mark Stokes2.6K vistas
SharePoint Saturday Perth 2013 - Overview of Search in SharePoint Server 201... por Sezai Komur
SharePoint Saturday Perth 2013  - Overview of Search in SharePoint Server 201...SharePoint Saturday Perth 2013  - Overview of Search in SharePoint Server 201...
SharePoint Saturday Perth 2013 - Overview of Search in SharePoint Server 201...
Sezai Komur1.2K vistas
TechFuse 2013 - Break down the walls SharePoint 2013 por Avtex
TechFuse 2013 - Break down the walls SharePoint 2013TechFuse 2013 - Break down the walls SharePoint 2013
TechFuse 2013 - Break down the walls SharePoint 2013
Avtex993 vistas
I2 - SharePoint Hybrid Search Start to Finish - Thomas Vochten por SPS Paris
I2 - SharePoint Hybrid Search Start to Finish - Thomas VochtenI2 - SharePoint Hybrid Search Start to Finish - Thomas Vochten
I2 - SharePoint Hybrid Search Start to Finish - Thomas Vochten
SPS Paris319 vistas
SharePoint 2013 Search Driven Sites - SPSHOU por Brian Culver
SharePoint 2013 Search Driven Sites - SPSHOUSharePoint 2013 Search Driven Sites - SPSHOU
SharePoint 2013 Search Driven Sites - SPSHOU
Brian Culver1.1K vistas

Último

The Power of Heat Decarbonisation Plans in the Built Environment por
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built EnvironmentIES VE
67 vistas20 diapositivas
The Role of Patterns in the Era of Large Language Models por
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language ModelsYunyao Li
74 vistas65 diapositivas
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... por
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...ShapeBlue
48 vistas17 diapositivas
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... por
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
50 vistas69 diapositivas
Ransomware is Knocking your Door_Final.pdf por
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdfSecurity Bootcamp
81 vistas46 diapositivas
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... por
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...ShapeBlue
74 vistas17 diapositivas

Último(20)

The Power of Heat Decarbonisation Plans in the Built Environment por IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE67 vistas
The Role of Patterns in the Era of Large Language Models por Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li74 vistas
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... por ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue48 vistas
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... por Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker50 vistas
Ransomware is Knocking your Door_Final.pdf por Security Bootcamp
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdf
Security Bootcamp81 vistas
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... por ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue74 vistas
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue por ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue191 vistas
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... por TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc130 vistas
DRBD Deep Dive - Philipp Reisner - LINBIT por ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue110 vistas
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... por ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue93 vistas
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue por ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue134 vistas
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O... por ShapeBlue
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
ShapeBlue59 vistas
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... por ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue113 vistas
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... por ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue114 vistas
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... por ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue128 vistas
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online por ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue154 vistas
Digital Personal Data Protection (DPDP) Practical Approach For CISOs por Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash103 vistas
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue por ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue147 vistas

Implementing Site Search in CQ5 / AEM

  • 1. IMPLEMENTING SITE SEARCH IN CQ5/AEM DEVANG SHAH, I-CUBED
  • 2.  Session Outline  Importance of site search functionality  CQ5 internal search workings & limitations  Integrating CQ5 with external search engines & challenges  Indexing patterns for integrating with external search engines  Q&A
  • 3.  Site Search is one of the core functionality of most websites  Browse v/s Search: Alternate methods of allowing visitors to find the information they need quickly and easily  “90 percent of companies report that search is the No.1 means of navigation on their site” -- Forrester Research “82 percent of visitors use site search to find the information they need” -- Juniper Research Advances in search features, which allows site visitors to:     Auto complete/auto correct search terms Build advanced queries, Filter results by facets, Search results refined by location, preferences, previous history, etc “Visitors who used site search were “more likely to convert from browsers to buyers”.” -- Juniper Research
  • 4. • Jackrabbit internally uses Lucene to Index repository content • Whenever any content is modified, along with it getting stored in repository, lucene index is also updated • Index Location: <crx-quickstart>/repository: • repository/index • workspaces/crx.default/index • Index Configuration: • Repository.xml & workspaces.xml <SearchIndex> block • tika-config.xml in workspaces folder • Changes in new version of Jackrabbit (3.x / Oak)
  • 5. • Jackrabbit • JCR Spec 1.0: Support for XPATH & JCR SQL1 • JCR Spec 2.0: Support for JCR SQL2. Support for XPATH deprecated in JCR 2.0 but Jackrabbit still supports it • Both SQL & XPATH queries are translated to same search tree • Query Builder is an API to build queries for a query engine • CQ providers several OOTB components & extensions which leverages QueryBuilder API for full text or predicate based searches • OOTB Search Component provides support for full text query and enhanced search features: similar pages, facets support, pagination, etc
  • 6.  Use Case: Non CQ Content Sources    Use Case: Author v/s Visitor Search Patterns    CQ generates one index per server Author and visitor search patterns and requirements are typically different Performance & Architecture Considerations     Larger sites with more than one source of content and assets. Difficult to index non-CQ content ‘n’ number of queries and search variations – making it difficult to utilize CQ caching architecture Jackrabbit layer on top of Lucene may slow down search and query performance Scaling of search architecture dependent upon CQ architecture Customizations    Utilizing different content parsers, index tuning, etc (mitigated in 5.6.1) Can I use newer version of Lucene? How can I extend Jackrabbit search implementation?
  • 7.  External Search Platforms  Search Providers with Crawlers (examples): ▪ Google Search Appliance ▪ Microsoft FAST  Non-crawler Search Providers (examples): ▪ Endeca ▪ Lucene/Solr  Enables independent scaling of search platform  Supports more than one content sources  Configuration & customization of search application is decoupled from CQ5 application  May provide more advanced search features (faceted search, geospatial search, personalization, etc)
  • 8.  Challenges building & managing search indexes  Building Site Index: Crawl or Query & Inject?  How often should index be rebuilt?  How to ensure that content & metadata between content sources and search index is always in sync?  In case of multiple data sources, how to manage duplicates, index structure and common metadata model?  Challenges querying & building search results  Should search results page be hosted on the provider’s platform or within CQ?  Does search provider offer extended API to query and build search results within the application?
  • 10.  Integration Notes:  GSA, FAST Site Crawler, Endeca’s Plugin for CRX Indexing, Solr via open Source crawlers (Nutch, etc)  May require custom service which returns data (for example for Solr, Endeca)  Pros:  Ease of implementation  Indexes rendered version of the pages  Cons:  Lag between content publishing and index update process may result in out of sync search results experience. Also, what happens to deleted content?  Larger index crawl and build times  Search index doesn’t have complete set of meta-data
  • 12.  Example – CQ / FAST connector (available via service pack)  Pros: ⁻ Search index always in sync with content repository ⁻ Ability to send metadata with content ⁻ Customizable data formats and allows for partial indexing of page  Cons: ⁻ Will require custom development efforts ⁻ Indexing of content instead of rendered version of the pages ⁻ System Performance / Event Handling
  • 15.  Pros: ⁻ Search index (mostly) in sync with content repository ⁻ Ability to send metadata with content ⁻ Customizable data formats and allows for partial indexing of page ⁻ Minimal replication event processing  Cons: ⁻ Will require custom development efforts ⁻ Search index may get out of sync with content repository (but for a shorter duration only) ⁻ Indexing of content instead of rendered version of the pages
  • 16.  Handling initial content load & index creation  In case of content push approach, how will initial index be generated? May need to create initial baseline via site crawl or custom service  In case of content pull approach, how will index reflect deleted, moved, site pages?  Permission sensitive site pages & assets  Option 1: Export ACLs to Search Provider (example: CQ/FAST Connector)  Option 2: Check user permission via CQ at run time (similar to how CQ handles delivery of content incase of closed user groups)  Referenced assets, content pages and promos  Option: Query referenced pages and index. May cause performance (& recursive index) issue though.  Option: Selective content indexing (Index parts of page instead of entire page)