Listeners: What are query listeners and how to work with them?

The reason we have document query listeners is to apply query customizations globally. In order to do this the user need to create their own implementation of the IDocumentQueryListener.

public interface IDocumentQueryListener {
   * Allow to customize a query globally
   * @param queryCustomization
  void beforeQueryExecuted(IDocumentQueryCustomization queryCustomization);


If we want to disable caching of all query results, you can implement DisableCachingQueryListener which will add noCaching customization to each performed query.

public class DisableCachingQueryListener implements IDocumentQueryListener {
  public void beforeQueryExecuted(IDocumentQueryCustomization queryCustomization) {