Ref guide - Improve docs for Dense Vector reranking examples#4532
Open
adamjq wants to merge 1 commit into
Open
Ref guide - Improve docs for Dense Vector reranking examples#4532adamjq wants to merge 1 commit into
adamjq wants to merge 1 commit into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Improves the Solr Reference Guide documentation around dense vector re-ranking by clarifying that re-ranking can be done efficiently via vectorSimilarity() on a candidate set (instead of issuing a second full-index KNN pass), and cross-linking the relevant pages.
Changes:
- Promoted/anchored the “Usage in Re-Ranking Query” section in
dense-vector-search.adocand addedvectorSimilarity()re-ranking examples. - Added a cross-reference note in
query-re-ranking.adocpointing readers to dense vector re-ranking viavectorSimilarity().
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| solr/solr-ref-guide/modules/query-guide/pages/query-re-ranking.adoc | Adds a brief note linking to dense vector re-ranking via vectorSimilarity(). |
| solr/solr-ref-guide/modules/query-guide/pages/dense-vector-search.adoc | Adds a dedicated, anchored re-ranking section and examples for {!func}vectorSimilarity(...), plus notes on tradeoffs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+838
to
+839
| NOTE: The default `reRankOperator` is `add`, which sums the first-pass score and the vector similarity score. | ||
| Since these scores may differ in magnitude, you can adjust `reRankWeight` to control the balance between them, or use `reRankOperator=replace` to score re-ranked documents by vector similarity alone. |
Comment on lines
+841
to
+845
| When using a quantized vector field type (such as `ScalarQuantizedDenseVectorField`), the KNN first pass scores are computed on the quantized vectors. | ||
| Here is an example of re-ranking those results with exact float similarity scores, where `topK` matches `reRankDocs`: | ||
|
|
||
| [source,text] | ||
| ?q={!knn f=vector topK=100}[1.0,2.0,3.0,4.0]&rq={!rerank reRankQuery=$rqq reRankDocs=100 reRankWeight=1 reRankOperator=replace}&rqq={!func}vectorSimilarity(vector,[1.0,2.0,3.0,4.0]) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The Dense Vector Search page in the Solr Ref Guide currently has a section titled
Usage in Re-Ranking Query. However, it only contains a single example of re-ranking with the KNN query parser which has an important caveat that this initiates a second pass full KNN query. While this is true, I think it may be confusing to readers as it's not the only supported option for re-ranking documents with vectors.This PR adds documentation for the more efficient re-ranking feature that rerank subsets of documents by direct vector comparisons with the vectorSimilarity Function, with some notes about motivations and tradeoffs.
Solution
Usage in Re-Ranking Queryin Dense Vector Search ref guide{!func}vectorSimilarityin a re-rank queryBefore
After
Checklist
Please review the following and check all that apply:
mainbranch../gradlew check.