/aem-search-experiments

Primary LanguageJavaApache License 2.0Apache-2.0

AEM 6.5 Search Experiments

This repository contains a collection of Search experiments in a take-home lab format. The content is intended for intermediate to advanced AEM developers and customizers.

Goal

The goal of these experiments is to demonstrate the impact of search optimization and best practices adoption in Adobe Experience Manager (AEM).

Non-Goals

This repo does not attempt to prescribe a one-size-fits-all solution to search optimization. Due to the myriad use cases that AEM supports, it would be impossible to do so. Instead, pick and choose concepts from the below experiments and try them out on your project.

Getting set up

You will need the following SDKs, tools, and apps installed to work through the experiments:

You will also need a local AEM author setup:

  • AEM 6.5 author instance running on :4502

Experiments

1. Performance gains of a Lucene property index

In this experiment, we examine the before and after effects of creating a custom Lucene property index.

⇨ Performance gains of a Lucene property index

2. Performance gains of simple query refinement

In this experiment, we'll take a vague search query and see the performance boost achieved by narrowing its search criteria.

⇨ Performance gains of a simple query refinement

3. Performance gains for Query Builder queries with large result sets

In this experiment, we use Query Builder's p.guessTotal to improve query performance.

⇨ Performance gains for large result sets

4. Pagination on Result Sets

In this experiment, we consider what customizers should do after their queries are optimized and they find their search still takes a long time and returns a large set.

⇨ Pagination

Contributing

Contributions are welcomed! Read the Contributing Guide for more information.

Licensing

This project is licensed under the Apache V2 License. See LICENSE for more information.