Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Implementing site search

Avatar

Level 2

Hi Everyone,

I am new to implementing site search feature in our site in AEM, it should have autosuggest feature,fast and should be able to search in documents also apart from content in site, can anyone suggest me the possible approaches for this, and how much is it benefitial to implement any external search like ElasticSearch in AEM

Thanks for your help

 

Regards

Pallavi

1 Accepted Solution

Avatar

Correct answer by
Employee

Pallavi Singh wrote...

Hi , Thanks for your response

 

I have one doubt if AEM already provides Site Search Out of the box component then what is the need of implementing external search like Elastic Search, if we can customize existing provided search components. Is there any performance related difference using AEM Out of box and external searches?

 

If you wanted to do Federated search, then you should do that with an external search engine, you don't want to be pulling content from other sites into AEM to do federated search. If you wanted to do semantic or natural language search, then you would need an external search engine(there are some other features not available with OOTB search). 

External search engines are good if all the content is public, as enabling ACL's can become complicated and take time, if you use the OAKSOLR integration, then this does apply ACL's to solr content.

With an external search engine, you obviously have the latency of making a call to the external search engine and pulling the results, depending on the network latency, this may or may not be an issue for you.

Regards,

Opkar

View solution in original post

7 Replies

Avatar

Level 10

To search on a site - you can create a Search component - see: 

https://docs.adobe.com/docs/en/cq/5-6-1/howto/website.html#Creating the Search Component

Using ElasticSearch is a good approach too. Here is a good community article on this: 

https://www.cognifide.com/our-blogs/technology/aem-x-elasticsearch---fast-and-reliable-search-on-you...

Avatar

Administrator

The AEM 6.2 documentation is :- https://docs.adobe.com/docs/en/aem/6-2/develop/the-basics/website.html#Creating the Search Component

You can use Solr as well :- https://helpx.adobe.com/experience-manager/using/aem_solr.html

I hope this would help you.

~kautuk



Kautuk Sahni

Avatar

Level 2

Hi , Thanks for your response

 

I have one doubt if AEM already provides Site Search Out of the box component then what is the need of implementing external search like Elastic Search, if we can customize existing provided search components. Is there any performance related difference using AEM Out of box and external searches?

Avatar

Administrator

Adding one more reference here on top of what scoot has shared:

Link:- https://www.gastongonzalez.com/tech-blog/2013/9/14/advantages-of-solr-over-adobe-cqs-aems-lucene-int...

// Advantages of Solr over Adobe CQ's / AEM's Lucene Integration

 

Apart from the above,some information that i was able to accumulate from internal experts are : 

  • Lucene
    • Full text search
    • Property based search
    • Stemming
    • Synonyms
    • Stopwords
    • Properties weighting (boost in lucene)
    • Facets
  • SolR - all the features included in Lucene + the following
    • Upside
      • “Separation of duties”
      • Scalability
      • Indexing of non AEM sources of content
    • Downside:
      • Increased complexity related to configuration/maintenance/support
  • 3d party solutions (Elastic search, googlebox, etc)
    • Upside
      • Scalability
      • Cloud hosted for some
      • Indexing of non AEM sources of content
      • Business rules capabilities to alter search result (for marketing purpose for example, like S&P)
    • Downside:
      • Loose the ACL most likely
      • Delayed indexing

I hope this would be helpful to you.

~kautuk



Kautuk Sahni

Avatar

Correct answer by
Employee

Pallavi Singh wrote...

Hi , Thanks for your response

 

I have one doubt if AEM already provides Site Search Out of the box component then what is the need of implementing external search like Elastic Search, if we can customize existing provided search components. Is there any performance related difference using AEM Out of box and external searches?

 

If you wanted to do Federated search, then you should do that with an external search engine, you don't want to be pulling content from other sites into AEM to do federated search. If you wanted to do semantic or natural language search, then you would need an external search engine(there are some other features not available with OOTB search). 

External search engines are good if all the content is public, as enabling ACL's can become complicated and take time, if you use the OAKSOLR integration, then this does apply ACL's to solr content.

With an external search engine, you obviously have the latency of making a call to the external search engine and pulling the results, depending on the network latency, this may or may not be an issue for you.

Regards,

Opkar

Avatar

Community Advisor

I see this posted in 2017,
Try using Elastic search as a service, it provides dashboard and provides trial version to explore all the options.
Here you have a look at the setup for Elastic search as service.

Also you can have a look at the Algolia Site search
Which I found really awesome to work with.
Happy coding!!