Enable external elasticsearch server

Add this lines to nuxeo.conf. 

#elasticsearch nodes addresses
elasticsearch.addressList=localhost:9300
# Remote elasticsearch cluster name to join.
elasticsearch.clusterName=elasticsearch
# Name of the Elasticsearch index for the default document repository
elasticsearch.indexName=nuxeo
# Number of replicas (not for embedded mode)
elasticsearch.indexNumberOfReplicas=1

Change localhost to address(es) of the elasicsearch servers.

Enable  elasticsearch for casebrowser fulltext search

Add pi_query_search to the list of overrided pageproviders.

elasticsearch.override.pageproviders=default_search,pi_query_search

Each page prover name listed in elasticsearch.override.pageproviders will tell the PageProviderService to use ElasticSearchNxqlPageProvider as a replacer to the default page provider.

pi_query_search is our custom page provider name which is used only in PiDocumentPaginatedQuery when it is called when elasticsearch=true. Only when users search in the yellow filter box and search dialog, PiDocumentPaginatedQuery will be called with elasticsearch=true flag. In all other cases PiDocumentPaginatedQuery with elasticsearch=false or original DocumentPaginatedQuery is called.

PiDocumentPaginatedQuery with elasticsearch=false and DocumentPaginatedQuery works in absolutely same way.

default_search is a default value of elasticsearch.override.pageproviders so we have to leave it in the list when uncommenting