Gerrit libModule providing an index backend based on ElasticSearch

Clone this repo:
  1. 39831de Initial implementation extracted from Gerrit stable-3.5 by Luca Milanesio · 13 days ago master stable-3.6
  2. 19ffb77 Turn on error for the EmptyBlockTag bug pattern and fix related problems by Dmitrii Filippov · 8 months ago
  3. 64db4d8 Use fake index in integration tests, allow running against lucene/fake indices by Patrick Hiesel · 1 year, 1 month ago
  4. 4b3f9c6 Merge branch 'stable-3.4' by Marco Miller · 11 months ago
  5. 19f7e67 Merge branch 'stable-3.3' into stable-3.4 by Marco Miller · 11 months ago

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 //...