Gerrit libModule providing an index backend based on ElasticSearch

Clone this repo:
  1. c94f2c5 Adapt to adding support to store protos in indexes by David Ostrovsky · 3 months ago master
  2. 2e3c4a0 Merge branch 'stable-3.6' by David Ostrovsky · 3 months ago
  3. 572a92c Merge branch 'stable-3.5' into stable-3.6 by Luca Milanesio · 5 months ago stable-3.6
  4. 3e6de6f Remove dependency on //java/com/google/gerrit/proto by David Ostrovsky · 5 months ago
  5. 53a86ea Restore dockerized integration tests by David Ostrovsky · 5 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 //...