Skip to content

[Docs] ES|QL - Add exact search tutorial#140552

Merged
carlosdelest merged 11 commits intoelastic:mainfrom
carlosdelest:docs/esql-dense-vector-exact-search
Jan 15, 2026
Merged

[Docs] ES|QL - Add exact search tutorial#140552
carlosdelest merged 11 commits intoelastic:mainfrom
carlosdelest:docs/esql-dense-vector-exact-search

Conversation

@carlosdelest
Copy link
Copy Markdown
Member

Adds an exact search tutorial to the existing vector search tutorial for ES|QL

@carlosdelest carlosdelest added >docs General docs changes Team:Docs Meta label for docs team Team:Search Relevance Meta label for the Search Relevance team in Elasticsearch :Search Relevance/ES|QL Search functionality in ES|QL v9.4.0 labels Jan 13, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Jan 13, 2026

@github-actions
Copy link
Copy Markdown
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?

@carlosdelest carlosdelest marked this pull request as ready for review January 13, 2026 09:48
@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

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

@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Pinging @elastic/core-docs (Team:Docs)

Copy link
Copy Markdown
Member

@leemthompo leemthompo left a comment

Choose a reason for hiding this comment

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

Looks great on the writing side, just noticed a couple of things and have a couple of nits. I'll let Ioana have a look on the technical details before giving final review on the docs side 👍

serverless: ga
```

While `KNN` performs approximate nearest neighbor search, {{esql}} also provides [exact similarity functions](/reference/query-languages/esql/functions-operators/dense-vector-functions.md) for exact vector search. These functions calculate similarity over all the query vectors, guaranteeing accurate results at the cost of slower performance.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: here the link text says "exact similarity functions" but the linked page only has the top-level heading "dense-vector-functions". Wonder if we could update the layout of that page to create a subsection? 🤔

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

That looks good - done that in 4110ad3

Copy link
Copy Markdown
Member

@leemthompo leemthompo left a comment

Choose a reason for hiding this comment

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

Docs LGTM, one last suggestion to cross link to tutorial from reference page :)

@@ -26,6 +26,10 @@ and require appropriate field mappings.
:::{include} ../_snippets/functions/layout/text_embedding.md
:::

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@carlosdelest one last thing, at the very top of this page just after the H1 we should add link to the tutorial:

:::{tip}
For more examples of these functions in action, refer to [the {{esql}} for search tutorial](/reference/query-languages/esql/esql-search-tutorial.md#vector-search-with-knn-similarity-functions-and-text_embedding).
:::

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Sure! Done in e0e2537

…r-exact-search

# Conflicts:
#	x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/vector/CosineSimilarity.java
#	x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/vector/DotProduct.java
#	x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/vector/Hamming.java
#	x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/vector/L1Norm.java
#	x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/vector/L2Norm.java
@carlosdelest carlosdelest enabled auto-merge (squash) January 15, 2026 09:21
@carlosdelest carlosdelest merged commit b2736fc into elastic:main Jan 15, 2026
35 checks passed
spinscale pushed a commit to spinscale/elasticsearch that referenced this pull request Jan 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

>docs General docs changes :Search Relevance/ES|QL Search functionality in ES|QL Team:Docs Meta label for docs team Team:Search Relevance Meta label for the Search Relevance team in Elasticsearch v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants