tadijam64 / search-engines-comparison

Exploring and testing capabilities of Apache Lucene, Elasticsearch and Apache Solr search engines on Adobe's reference We Retail project.
Other
12 stars 4 forks source link

Apache Lucene, Apache Solr and Elasticsearch comparison on Adobe Experience Manager

Goal

Exploring capabilities of search engines mentioned in the title. This is done with different types of content and with different technical cases. It was also important to explore behavior of the search engines with AEM's technology stack.

Proper testing of search engines capabilities requires large amount of data. To avoid looking for relevant content for imaginary business case, existing AEM reference site - We Retail is used.

Description

Many options of the search engines are explored and then compared.

Using search engines is a critical functionality for almost all applications, but to choose which one to use primarily depends on you business case.

Full write-up of theoretical and practical part behind this this project is available here. You can find five blog posts there explaining every detail of this project implementation.

This project is practical part of Master's Thesis "Implementing Search Engines in Adobe Experience Manager" on Faculty of Organization and Informatics.

Functionalities

This project adds the following functionalities to the We Retail app:

Technologies

Implementation

Modules

The main parts of the template are:

How to build

Install clean AEM 6.4 instance

When you have a running AEM instance you can package the whole project and deploy into AEM with

mvn clean install -PautoInstallPackage

Additionally, bundle should be deployed to the author with running

mvn clean install -PautoInstallBundle

To run a Groovy scripts under /resources/groovyScripts, install

Testing

There are three levels of testing contained in the project:

Maven settings

The project comes with the auto-public repository configured. To setup the repository in your Maven settings, refer to:

http://helpx.adobe.com/experience-manager/kb/SetUpTheAdobeMavenRepository.html

Contributing

Feel free to contribute. For all additional questions, there is email address attached in the Authors section.

Authors

Tadija Malić - Initial work - tadija@tadijamalic.com

See also the list of contributors who participated in this project.

License

This project is licensed under the Apache License - see the LICENSE.md file for details

Key words:

Apache Lucene, Apache Solr, Elasticsearch, AEM, search engines, Jackrabbit Oak, JCR