Index backend for Gerrit, based on ElasticSearch

Indexing backend libModule for Gerrit Code Review based on ElasticSearch.

This module was original part of Gerrit core and then extracted into a separate component from v3.5.0-rc3 as part of Change-Id: Ib7b5167ce.

How to build

This libModule is built like a Gerrit in-tree plugin, using Bazelisk. See the build instructions for more details.

Setup

  • Install index-elasticsearch module

Install the index-elasticsearch.jar into the $GERRIT_SITE/lib directory.

Add the index-elasticsearch module to $GERRIT_SITE/etc/gerrit.config as follows:

[gerrit]
  installIndexModule = com.google.gerrit.elasticsearch.ElasticIndexModule

When installing the module on Gerrit replicas, use following example:

[gerrit]
  installIndexModule = com.google.gerrit.elasticsearch.ReplicaElasticIndexModule

For further information and supported options, refer to config documentation.

Integration test

Gerrit acceptance tests allow the execution with an alternate implementation of the indexing backend using the GERRIT_INDEX_MODULE environment variable.

bazel test --test_env=GERRIT_INDEX_MODULE=com.google.gerrit.elasticsearch.ElasticIndexModule //...