Solr Integration with AEM
Solr is one of the most powerful
integrations with AEM to improve indexing/search.
However, AEM
comes standard with a functional search feature
based on Apache Jackrabbit Oak. This
is what AEM will use to work with indexes and search in the platform that can be leveraged when creating new AEM
applications with no added cost. This solution is appropriate in many cases,
mostly with simple sites that use search as a secondary feature. However, it
can fall short in applications looking for an advanced search experience and
features, or with huge repository sizes.
Solr is a
popular, blazing-fast, open source enterprise search platform built on Apache Lucene.
Solr is highly reliable, scalable, and
fault tolerant.
For Solr index
to work with Oak, we need to setup a connection to able to communicate with a
Solr instance/cluster.
HttpSolrClient
API used to query on Solr.
Setup Solr on
machine
Download and
install the latest release of Solr server from the following URL:
http://archive.apache.org/dist/lucene/solr/
Unzip the file so that
you are able to view the following file structure.
You can
start the Solr server by opening the command prompt and changing the working
directory to the bin folder located in the directory in which you extracted the
ZIP file. Run the following command:
solr start -e cloud -noprompt
To verify that Solr is running, go to the following URL:
You should see the Solr web client.
Create a collection
1. From the web client, select Collection in the right
hand column (shown above).
2 . Click Add Collection.
3. Name the new collection: collection.
Configure AEM to use
Solr server
Under Configuration Manager
Search for AEM Solr Search - Solr Configuration Service and
enter the following values:
Index values with Solr
Go to, http://localhost:4502/etc/solr/solrindexer.html
This page is invoking
the IndexContentToSolr sling servlet (you can see the source code of
this servlet in the OSGi section of this article). If the index operation is
successful, a message confirming the operation was successful appears, as shown
in the previous illustration.
You can validate if the SOLR docs are created by going to the
following URL:
http://localhost:8983/solr/#/collection/query
Select collection from
the drop-down control and click the Execute Query button. If
successful, you will see the result set that contains We-retail content.