Skip to content

Enable early termination for HNSW by default#130564

Merged
tteofili merged 22 commits intoelastic:mainfrom
tteofili:patience_default
Dec 15, 2025
Merged

Enable early termination for HNSW by default#130564
tteofili merged 22 commits intoelastic:mainfrom
tteofili:patience_default

Conversation

@tteofili
Copy link
Contributor

@tteofili tteofili commented Jul 3, 2025

This enables early termination for KNN queries running on HNSW by default.
See #127223

@elasticsearchmachine
Copy link
Collaborator

Hi @tteofili, I've created a changelog YAML for you.

@tteofili
Copy link
Contributor Author

tteofili commented Jul 3, 2025

openai_vector comparison:
4886... is with early_termination enabled
4718... is with early termination disabled (current default)

Screenshot 2025-07-03 at 15 54 42
Screenshot 2025-07-03 at 15 54 51

@github-actions
Copy link
Contributor

github-actions bot commented Jul 3, 2025

🔍 Preview links for changed docs:

🔔 The preview site may take up to 3 minutes to finish building. These links will become live once it completes.

@github-actions
Copy link
Contributor

github-actions bot commented Jul 3, 2025

@github-actions
Copy link
Contributor

ℹ️ Important: Docs version tagging

👋 Thanks for updating the docs! Just a friendly reminder that our docs are now cumulative. This means all 9.x versions are documented on the same page and published off of the main branch, instead of creating separate pages for each minor version.

We use applies_to tags to mark version-specific features and changes.

Expand for a quick overview

When to use applies_to tags:

✅ At the page level to indicate which products/deployments the content applies to (mandatory)
✅ When features change state (e.g. preview, ga) in a specific version
✅ When availability differs across deployments and environments

What NOT to do:

❌ Don't remove or replace information that applies to an older version
❌ Don't add new information that applies to a specific version without an applies_to tag
❌ Don't forget that applies_to tags can be used at the page, section, and inline level

🤔 Need help?

@tteofili
Copy link
Contributor Author

Buildkite benchmark this with so-vector please

@tteofili
Copy link
Contributor Author

Buildkite benchmark this with so-vector please

@tteofili tteofili marked this pull request as ready for review November 26, 2025 14:34
@elasticsearchmachine elasticsearchmachine added the Team:Search Relevance Meta label for the Search Relevance team in Elasticsearch label Nov 26, 2025
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-search-relevance (Team:Search Relevance)

@tteofili
Copy link
Contributor Author

Buildkite benchmark this with so-vector please

@elasticmachine
Copy link
Collaborator

elasticmachine commented Nov 27, 2025

💚 Build Succeeded

This build ran two so-vector benchmarks to evaluate performance impact of this PR.

History

@benwtrent
Copy link
Member

This really helps when there are many segments!

Copy link
Member

@benwtrent benwtrent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified with the new adaptive based on k, recall is stable. :shipit: once you have this PR updated from main to use the adaptive collector :)

@tteofili tteofili enabled auto-merge (squash) December 15, 2025 16:13
@tteofili tteofili merged commit 9beba59 into elastic:main Dec 15, 2025
35 checks passed
parkertimmins pushed a commit to parkertimmins/elasticsearch that referenced this pull request Dec 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

>enhancement :Search Relevance/Vectors Vector search Team:Search Relevance Meta label for the Search Relevance team in Elasticsearch v9.3.0

4 participants