- Notifications
You must be signed in to change notification settings - Fork 25.5k
Mark Token Pruning for Sparse Vector as GA #128854
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
Mark Token Pruning for Sparse Vector as GA #128854
Conversation
Pinging @elastic/es-docs (Team:Docs) |
Pinging @elastic/search-eng (Team:SearchOrg) |
Hi @markjhoy, I've created a changelog YAML for you. Note that since this PR is labelled |
Pinging @elastic/search-relevance (Team:Search - Relevance) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just need to clean up a couple issues of release notes and fix the build.
Could you please also open a PR to mark this as stable in the spec? See: https://github.com/elastic/elasticsearch/pull/125302/files
Thanks!
@kderusso - what spec are you referring to? |
NOTE: do not merge this yet - wait at least until #126739 is merged, and we consult appropriate stakeholders |
`query_vector` | ||
: (Optional, dictionary) A dictionary of token-weight pairs representing the precomputed query vector to search. Searching using this query vector will bypass additional inference. Only one of `inference_id` and `query_vector` is allowed. | ||
| ||
`prune` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`prune` | |
`prune` {applies_to}`stack: preview 9.0, ga 9.1` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same applies for all, placing this applies_to tag after each
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will need to update the applies_to
versioning metadata before we can merge, thanks :)
🔍 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Mark!
I presume this means updating https://github.com/elastic/elasticsearch-specification/blob/main/specification/_types/query_dsl/SparseVectorQuery.ts#L60-L80 |
@leemthompo - there should already be a PR for the specification here: elastic/elasticsearch-specification#4454 |
@kderusso and @leemthompo - a quick update to the docs here - I added in the updated detailed description of pruning behaviour (what gets pruned and what does not) from the docs we added for the sparse vector index options (copy/paste from that PR to here and these docs). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good changes, thanks for adding them! One note on versioning
| ||
`prune` | ||
: (Optional, boolean) [preview] Whether to perform pruning, omitting the non-significant tokens from the query to improve query performance. If `prune` is true but the `pruning_config` is not specified, pruning will occur but default values will be used. Default: false. | ||
`prune` {applies_to}`stack: preview 9.0, ga 9.1` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait, we're not shipping this to 9.0.x right? This seems wrong?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this tag just makes sure to specify that this was in preview for 9.0.x, but now GA for 9.1... @leemthompo - this was your suggestion from earlier - is my understanding correct? Or should the preview 9.0
part just be removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But then it would be when it was released which was prior to 9.0? Or since these docs are 9.0+ only? This is really confusing as a docs structure, sorry :(
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good question - I'll defer to @leemthompo as he suggested that tag ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or since these docs are 9.0+ only? This is really confusing as a docs structure, sorry :(
Yup the the 9.x docs don't talk about 8.x and below in the applies_to metadata. So yeah it doesn't mean "this feature was added in 9.0 in tech preview", it just means "This feature was tech preview in 9.0".
The actual output on the page will have more helpful tooltips and stuff in the future, but yeah the raw metadata is a bit ambiguous. It's also hard to get used to the "cumulative docs" paradigm but we need it because this page applies to both 9.0 and 9.1 (and beyond as time goes on), so in order to specify when something went GA in 9.1, we need to also be able to specify it was preview in 9.0. Because there's no 9.0 page to switch back to.
* remove [preview] labels sparse vec / token pruning * Update docs/changelog/128854.yaml * update changelog * set changelog to feature/ml * set proper area * add applies_to labels * add clarification for token pruning behaviour
A docs change to remove the [preview] labels for the token pruning configuration items for the Sparse Vector query as we get ready to put these into GA.