Skip to content

How Elasticsearch’s scores are calculated

The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.

verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10

PA Score17/100

Agent-ready 32.6 × 0.30 = 9.78

API quality 4.3 × 0.20 = 0.86

Openness 24.0 × 0.20 = 4.80

Built-in AI 13.3 × 0.15 = 2.00

Automation 0.0 × 0.15 = 0.00

(9.78 + 0.86 + 4.80 + 2.00 + 0.00) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 17.43 ÷ 1.00 = 17.4

Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.

Agent-ready32.6/100×0.30 of the PA blend

Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.

Point an agent at llms.txt or agent-oriented docsweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [claimed-docs] https://www.elastic.co/docsInstall official skills that teach AI coding agents how to work with Elasticsearch, Kibana, Fleet, and the rest of the Elastic stack.
  • [probe] https://www.elastic.co/llms.txtPROBE llms.txt: HTTP 404 at https://www.elastic.co/llms.txt
  • [probe] https://www.elastic.co/docs.mdPROBE docs-md: HTTP 404 at https://www.elastic.co/docs.md
  • [probe] https://github.com/elastic/mcp-server-elasticsearchofficial MCP server documented at https://github.com/elastic/mcp-server-elasticsearch

Run the product headlessly / in CI for automationweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://www.elastic.co/docs/deploy-manage/deploy/self-managed/local-development-installation-quickstartcurl -fsSL https://elastic.co/start-local | sh
  • [claimed-docs] https://www.elastic.co/docs/deploy-manage/deploy/self-managed/local-development-installation-quickstartQuickly set up Elasticsearch and Kibana in Docker for local development or testing, using this one-liner in the command line.
  • [claimed-docs] https://www.elastic.co/docs/reference/elasticsearch-clientsElasticsearch is easy to use from most popular programming languages, thanks to the wide range of official libraries and developer tools available.

Plug MCP servers into this product so it can use their toolsweight 3

n/a — not applicable to this product: excluded from numerator and denominator

  • [claimed-docs] https://github.com/elastic/mcp-server-elasticsearchelastic / mcp-server-elasticsearch Public
  • [probe] https://github.com/elastic/mcp-server-elasticsearchofficial MCP server documented at https://github.com/elastic/mcp-server-elasticsearch

Connect an agent via an official MCP serverweight 3

3 (weight) × 7 (quality) × 1.0 (full) = 21.0 of 30 max

  • [claimed-docs] https://github.com/elastic/mcp-server-elasticsearchelastic / mcp-server-elasticsearch Public
  • [probe] https://github.com/elastic/mcp-server-elasticsearchofficial MCP server documented at https://github.com/elastic/mcp-server-elasticsearch

Use an official CLIweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://www.elastic.co/docs/reference/elasticsearch-clientsElasticsearch is easy to use from most popular programming languages, thanks to the wide range of official libraries and developer tools available.
  • [claimed-docs] https://github.com/elastic/mcp-server-elasticsearchelastic / mcp-server-elasticsearch Public

Drive the product through a documented public APIweight 3

3 (weight) × 6 (quality) × 0.6 (partial) = 10.8 of 30 max

  • [claimed-docs] https://www.elastic.co/docs/reference/elasticsearch-clientsElasticsearch is easy to use from most popular programming languages, thanks to the wide range of official libraries and developer tools available.
  • [claimed-docs] https://www.elastic.co/docs/solutions/search/semantic-searchThe inference API workflow is more complex but offers greater control over the inference endpoint configuration.
  • [claimed-docs] https://www.elastic.co/docsInstall official skills that teach AI coding agents how to work with Elasticsearch, Kibana, Fleet, and the rest of the Elastic stack.
  • [claimed-docs] https://github.com/elastic/mcp-server-elasticsearchelastic / mcp-server-elasticsearch Public
  • [probe] https://www.elastic.co/llms.txtPROBE llms.txt: HTTP 404 at https://www.elastic.co/llms.txt
  • [probe] https://www.elastic.co/docs.mdPROBE docs-md: HTTP 404 at https://www.elastic.co/docs.md
  • [probe] https://www.elastic.co/openapi.jsonPROBE openapi: all candidate paths 404 (https://www.elastic.co/openapi.json, https://www.elastic.co/swagger.json, https://www.elastic.co/api/openapi.json, https://www.elastic.co/.well-known/openapi.json)
  • [probe] https://github.com/elastic/mcp-server-elasticsearchofficial MCP server documented at https://github.com/elastic/mcp-server-elasticsearch

Issue scoped/least-privilege API credentials for an agentweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Build against official SDKsweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://www.elastic.co/docs/reference/elasticsearch-clientsElasticsearch is easy to use from most popular programming languages, thanks to the wide range of official libraries and developer tools available.
  • [claimed-docs] https://github.com/elastic/mcp-server-elasticsearchelastic / mcp-server-elasticsearch Public
  • [probe] https://github.com/elastic/mcp-server-elasticsearchofficial MCP server documented at https://github.com/elastic/mcp-server-elasticsearch

Subscribe to events via webhooksweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Agent-ready = 58.6 ÷ 180 × 100 = 32.6

API quality4.3/100×0.20 of the PA blend

The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.

Explore an interactive API reference with runnable examplesweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://www.elastic.co/llms.txtPROBE llms.txt: HTTP 404 at https://www.elastic.co/llms.txt
  • [probe] https://www.elastic.co/docs.mdPROBE docs-md: HTTP 404 at https://www.elastic.co/docs.md
  • [probe] https://www.elastic.co/openapi.jsonPROBE openapi: all candidate paths 404 (https://www.elastic.co/openapi.json, https://www.elastic.co/swagger.json, https://www.elastic.co/api/openapi.json, https://www.elastic.co/.well-known/openapi.json)

Download a machine-readable API spec (OpenAPI or equivalent)weight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://www.elastic.co/openapi.jsonPROBE openapi: all candidate paths 404 (https://www.elastic.co/openapi.json, https://www.elastic.co/swagger.json, https://www.elastic.co/api/openapi.json, https://www.elastic.co/.well-known/openapi.json)

Test against a sandbox environment without touching production dataweight 1

1 (weight) × 5 (quality) × 0.6 (partial) = 3.0 of 10 max

  • [claimed-docs] https://www.elastic.co/docs/deploy-manage/deploy/self-managed/local-development-installation-quickstartcurl -fsSL https://elastic.co/start-local | sh
  • [claimed-docs] https://www.elastic.co/docs/deploy-manage/deploy/self-managed/local-development-installation-quickstartQuickly set up Elasticsearch and Kibana in Docker for local development or testing, using this one-liner in the command line.
  • [claimed-docs] https://www.elastic.co/docs/solutions/search/get-startedIf you are a new user, sign up for a free 14-day trial to create a serverless project.
  • [claimed-docs] https://www.elastic.co/docs/solutions/search/get-startedElastic provides several self-managed and Elastic-managed options.

Rely on versioned APIs with a documented deprecation policyweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

API quality = 3.0 ÷ 70 × 100 = 4.3

Openness24.0/100×0.20 of the PA blend

Can you leave, inspect, or self-host — data export, open source, portability.

Do everything through the API that I can do in the UIweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://www.elastic.co/docs/reference/elasticsearch-clientsElasticsearch is easy to use from most popular programming languages, thanks to the wide range of official libraries and developer tools available.
  • [probe] https://www.elastic.co/openapi.jsonPROBE openapi: all candidate paths 404 (https://www.elastic.co/openapi.json, https://www.elastic.co/swagger.json, https://www.elastic.co/api/openapi.json, https://www.elastic.co/.well-known/openapi.json)

Export all of my data in open formats and leaveweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Read the product's source under an open licenseweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://github.com/elastic/mcp-server-elasticsearchelastic / mcp-server-elasticsearch Public
  • [community] https://news.ycombinator.com/item?id=25865094Elastic.co has a lot of proprietary add-ons in their cloud and subscription tiers... Unfortunately for them a lot of users don't need any of that, and are just fine with the formerly-OSS core.

Self-host the core productweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://www.elastic.co/docs/deploy-manage/deploy/self-managed/local-development-installation-quickstartcurl -fsSL https://elastic.co/start-local | sh
  • [claimed-docs] https://www.elastic.co/docs/deploy-manage/deploy/self-managed/local-development-installation-quickstartQuickly set up Elasticsearch and Kibana in Docker for local development or testing, using this one-liner in the command line.
  • [claimed-docs] https://www.elastic.co/docs/solutions/search/get-startedElastic provides several self-managed and Elastic-managed options.
  • [claimed-docs] https://www.elastic.co/docs/reference/elasticsearch-clientsElasticsearch is easy to use from most popular programming languages, thanks to the wide range of official libraries and developer tools available.
  • [community] https://news.ycombinator.com/item?id=25865094Elastic.co has a lot of proprietary add-ons in their cloud and subscription tiers... Unfortunately for them a lot of users don't need any of that, and are just fine with the formerly-OSS core.
  • [community] https://hn.algolia.com/api/v1/items/22396918I found Elastic Cloud on K8s to be the best way to deploy and manage Elastic clusters on Kubernetes so far.
  • [community] https://hn.algolia.com/api/v1/items/41394797For one, we don't have to pay for basic amenities like security and alerts. To heck with gouging the customer for basic feature sets. AWS have their faults, but enabling teams to get the whole elastic experience without the weird nickle and diming is a blessing.

Openness = 24.0 ÷ 100 × 100 = 24.0

Built-in AI13.3/100×0.15 of the PA blend

Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.

Get AI-generated insights and suggestions from my data inside the productweight 2

2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max

  • [claimed-docs] https://www.elastic.co/docs/solutions/searchWhen you index content into a `semantic_text` field, Elasticsearch automatically generates vector embeddings using a configured machine learning model and stores them in the underlying vector field.
  • [claimed-docs] https://www.elastic.co/docs/solutions/searchWhen you index content into a `semantic_text` field, Elasticsearch automatically generates vector embeddings using a configured machine learning model
  • [claimed-docs] https://www.elastic.co/docs/solutions/searchRAG (Retrieval Augmented Generation) systems
  • [claimed-docs] https://www.elastic.co/docs/solutions/search/vectorElasticsearch functions as a vector database when you store embeddings in `dense_vector` or `sparse_vector` fields and query them for similarity.
  • [claimed-docs] https://www.elastic.co/docs/solutions/search/semantic-searchAll you need to do is create an index mapping to start ingesting, embedding, and querying data. There is no need to define model-related settings and parameters, or to create inference ingest pipelines.

Set up automations that run autonomously in the backgroundweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Delegate tasks to a built-in AI assistant inside the productweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://www.elastic.co/docsInstall official skills that teach AI coding agents how to work with Elasticsearch, Kibana, Fleet, and the rest of the Elastic stack.
  • [claimed-docs] https://github.com/elastic/mcp-server-elasticsearchelastic / mcp-server-elasticsearch Public
  • [probe] https://github.com/elastic/mcp-server-elasticsearchofficial MCP server documented at https://github.com/elastic/mcp-server-elasticsearch

Operate the product with natural-language commandsweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://github.com/elastic/mcp-server-elasticsearchelastic / mcp-server-elasticsearch Public
  • [probe] https://github.com/elastic/mcp-server-elasticsearchofficial MCP server documented at https://github.com/elastic/mcp-server-elasticsearch
  • [claimed-docs] https://www.elastic.co/docsInstall official skills that teach AI coding agents how to work with Elasticsearch, Kibana, Fleet, and the rest of the Elastic stack.

Built-in AI = 12.0 ÷ 90 × 100 = 13.3

Automation0.0/100×0.15 of the PA blend

Depth of automation primitives — rules, scheduling, bulk operations, webhooks.

Perform bulk operations across many items at onceweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Define rules that trigger actions automatically on eventsweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Schedule recurring jobs or workflowsweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Version, review, and roll back my automationsweight 1

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Automation = 0.0 ÷ 70 × 100 = 0.0