Merge branch 'stable-3.7'

* stable-3.7: (24 commits)
  Add an analyzer with tokenizer:keyword to prefix fields
  Prune _source to only contain stored fields
  Introduce 'elasticsearch.codec' config
  Disable tracking total number of hits
  Use bool 'filter' queries instead of 'match'
  Replace camelCase format name dateOptionalTime
  Return cardinality from predicate when available
  Update testcontainers to 1.17.5
  Update testcontainers to 1.16.3
  Elasticsearch tests: Recreate container for each test suite
  Paginate no-limit queries
  Introduce a SEARCH_AFTER index pagination type
  Remove support for vulnerable ES versions
  Add 7.16.* to supported versions
  tests: Print container logs of startup failure
  Use official elasticsearch docker image for tests
  Add 7.10.* to supported versions
  Use errors output field to determine _bulk API failure
  elasticsearch-rest-client: Update to latest 8.3.2
  docs: Split README content into more files
  ...

Release-Notes: skip
Change-Id: I8361cdc33f7331b8c106d9817061d55050373b1a
tree: 53f1d6f192ca151deca15b64a06c539cb6f10972
  1. src/
  2. BUILD
  3. external_plugin_deps.bzl
  4. Jenkinsfile
  5. LICENSE
  6. README.md
README.md

Index backend for Gerrit, based on ElasticSearch

Indexing backend libModule for Gerrit Code Review based on ElasticSearch.

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

Note that, ElasticSearch source code is no longer Apache 2.0-licensed for versions 7.11 and newer. See ElasticSearch 2021 license change for more information.

How to build

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

Setup

See the setup instructions for how to install the index-elasticsearch module.

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

Integration test

This libModule runs tests like a Gerrit in-tree plugin, using Bazelisk. See the test instructions for more details.