← All reportsPublic report

elastic/elasticsearch

Free and Open Source, Distributed, RESTful Search Engine

78k stars Java View on GitHubprofiled 11d ago
Try GitZoid
400PRs this week
104Contributors
0Deps scanned
0Issues found
01 · Repo overview

How elasticsearch is put together

This repository snapshot centers on the Elasticsearch monorepo's build and CI infrastructure: a large Gradle multi-project build (root build.gradle plus build-conventions, build-tools, and build-tools-internal sub-builds) that compiles the Elasticsearch server and libraries, packages distributions, and publishes Maven artifacts via nmcp aggregation. CI runs on Buildkite with pipelines defined as YAML under .buildkite/pipelines; pull-request pipelines and BWC version matrices are dynamically generated by Node/TypeScript scripts (run with bun) and by the Gradle task updateCIBwcVersions, which expands template files into concrete pipeline YAML. The product itself is a JVM-based distributed search engine built on Apache Lucene, organized as JPMS modules (e.g., org.elasticsearch.server) with a small native Rust component (libs/parquet-rs) exposed over FFI.

Languages

JavaGroovyTypeScriptJavaScriptRustYAML

Frameworks

Gradle (custom elasticsearch.* plugin suite)Apache LuceneBuildkite CIJUnit 5 / Spock / TestKitgRPCJacksonvitest

Infrastructure

Buildkite agents and hooksDocker (docker-support plugin, distribution/docker)Packer image caching (.buildkite/packer_cache.sh)VagrantfilePrometheus local dev stack (dev-tools/prometheus-local docker-compose)Maven Central publishing (nmcp)

Major components

Root build orchestration (build.gradle)

Applies all elasticsearch.* Gradle plugins, aggregates Maven publications into an nmcp zip, and generates/verifies BWC version files and Buildkite pipeline matrices.

build-conventions

Shared convention Gradle plugins for license headers, publishing, licensing, version properties, and Spotless-based formatting.

build-tools

Public-facing Gradle plugins for distribution download, esplugin/stable-esplugin builds, test clusters, reaper process management, and REST test types.

build-tools-internal

Internal Gradle plugin suite covering distribution setup/BWC, Docker support, DRA artifacts, JDK toolchains, REST/YAML compat tests, ESQL spec tests, and precommit validation.

.buildkite CI system

Buildkite pipeline definitions (static templates plus generated files), agent hooks for env/secrets, and TypeScript tooling that generates pull-request pipelines.

server module (org.elasticsearch.server)

Core Elasticsearch engine exposing cluster, action, bootstrap, and coordination APIs as a JPMS module over Lucene.

libs/* shared libraries

Standalone JPMS libraries (cli, columnar, x-content, entitlement, simdvec, geo, parquet-rs, ssl-config, etc.) consumed by server and plugins.

distribution & packaging

Gradle builds for archives, Docker images, OS packages, and backward-compatibility distributions.

The last two weeks of Elasticsearch development were dominated by the ES|QL query language, with a steady stream of new capabilities (spatial grids, dense vectors, range grouping), performance work around Parquet file reading, and stricter handling of null and missing data. Alongside that, teams shipped infrastructure improvements like enabling point-in-time relocation by default, translog batch writes for serverless storage, and a large amount of test stabilization—muting flaky tests and migrating legacy test suites. The overall arc shows heavy investment in making ES|QL faster and more robust while quietly modernizing core internals.

Week by week

2026-08-24ES|QL gained spatial grid support, double-range grouping, and smarter pushdown of filters to the search engine, while many flaky tests were muted and stabilized.latest6 changes

Feature

Spatial grid functions now handle geo_shape

ES|QL's spatial grid functions can now work with geo_shape data, expanding geographic analysis capabilities.

Feature

Double range grouping in ES|QL

Aggregations can now group numeric results into double-precision ranges directly in ES|QL queries.

Refactor

Faster filtering of negated ranges

IN_RANGE checks on IP addresses, versions, and keywords can now be pushed down to Lucene even when negated, speeding up those queries.

Fix

Null-safety fixes across ES|QL evaluators

A series of changes made ES|QL stricter and more correct about null values in data blocks and new evaluator code.

Chore

Point-in-time relocation enabled by default

The feature flag guarding PIT relocation was removed, turning the capability on for everyone.

Chore

Flaky tests muted and fixed

Several intermittently failing tests were muted or repaired, including corruption, upgrade, and phrase-query tests.

2026-08-17This high-volume week introduced a DENSE_VECTOR command in ES|QL, major Parquet performance improvements, and enabled translog batch writes in stateless storage.6 changes

Feature

New DENSE_VECTOR command in ES|QL

ES|QL can now create and work with dense vector fields, supporting AI and similarity-search use cases.

Refactor

Parquet reading optimizations

Parquet input/output was moved onto the heap with reused decompression buffers, making file-based queries faster and more memory-efficient.

Feature

Translog batch writes enabled in stateless

Serverless storage can now write transaction log entries in batches, improving indexing throughput.

Feature

Subqueries usable inside EVAL

The 'in subquery' expression is now allowed within EVAL statements, giving query writers more flexibility.

Fix

Field extraction in MATCH_PHRASE

MATCH_PHRASE and the colon operator now support field extraction, fixing how text fields are matched in full-text searches.

Chore

Transform service modernization

Transforms got client caching, updated index options handling, and token propagation changes to improve reliability and security.

03 · Security check

Dependencies and code review

0 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 0 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required