Skip to content

Term vector API on stateless search nodes #129902

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

kingherc
Copy link
Contributor

Up to now, the (m)term vector API real-time requests were being executed on the indexing nodes of serverless. However, we would like to execute them on the search nodes, similar to real-time (m)GETs. This PR does that, by introducing an intermediate action for search nodes to become up-to-date with an indexing node in respect to the term vector API request, before executing it locally on the search node.

The new intermediate action searches for any of the requested document IDs in the shard's LiveVersionMap and if it finds any of them there, it means the search nodes need to be refreshed in order to capture the new document IDs before searching for them.

Relates ES-12112

@kingherc kingherc self-assigned this Jun 24, 2025
@kingherc kingherc added >non-issue :Search/Search Search-related issues that do not fall into other categories :Distributed Indexing/Engine Anything around managing Lucene and the Translog in an open shard. Team:Search Meta label for search team Team:Distributed Indexing Meta label for Distributed Indexing team labels Jun 24, 2025
@elasticsearchmachine elasticsearchmachine added v9.1.0 serverless-linked Added by automation, don't add manually labels Jun 24, 2025
@kingherc kingherc force-pushed the non-issue/ES-12112-termvectors branch 2 times, most recently from 0399f25 to 59876ce Compare June 24, 2025 10:20
Up to now, the (m)term vector API real-time requests were being
executed on the indexing nodes of serverless. However, we would
like to execute them on the search nodes, similar to real-time
(m)GETs. This PR does that, by introducing an intermediate
action for search nodes to become up-to-date with an indexing node
in respect to the term vector API request, before executing it
locally on the search node.

The new intermediate action searches for any of the requested
document IDs in the shard's LiveVersionMap and if it finds any
of them there, it means the search nodes need to be refreshed in
order to capture the new document IDs before searching for them.

Relates ES-12112
@kingherc kingherc force-pushed the non-issue/ES-12112-termvectors branch from 59876ce to dd19b4c Compare June 24, 2025 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Distributed Indexing/Engine Anything around managing Lucene and the Translog in an open shard. >non-issue :Search/Search Search-related issues that do not fall into other categories serverless-linked Added by automation, don't add manually Team:Distributed Indexing Meta label for Distributed Indexing team Team:Search Meta label for search team v9.2.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants