-
Notifications
You must be signed in to change notification settings - Fork 3k
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
fix: Check all values for trie.predictive_search
#35943
fix: Check all values for trie.predictive_search
#35943
Conversation
Related to milvus-io#35941 For marisa trie `predictive_search` default behavior, it value iterated is not in lexicographic order. This PR is a brute force fix to make range operator returns correct values. Signed-off-by: Congqi Xia <[email protected]>
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: congqixia The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
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.
/cc @zhagnlu
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #35943 +/- ##
==========================================
- Coverage 81.55% 72.64% -8.92%
==========================================
Files 1264 1264
Lines 150768 150762 -6
==========================================
- Hits 122964 109519 -13445
- Misses 22907 36349 +13442
+ Partials 4897 4894 -3
|
then the range query can be done by `
}` |
of cause we need a meta to mark whether the dataset is sorted or not. |
/lgtm |
Related to milvus-io#35941 For marisa trie `predictive_search` default behavior, it value iterated is not in lexicographic order. This PR is a brute force fix to make range operator returns correct values. Signed-off-by: Congqi Xia <[email protected]>
…5999) Cherry-pick from master pr: #35943 Related to #35941 For marisa trie `predictive_search` default behavior, it value iterated is not in lexicographic order. This PR is a brute force fix to make range operator returns correct values. Signed-off-by: Congqi Xia <[email protected]>
Related to milvus-io#35941 Previous PR: milvus-io#35943 This PR make `Trie` index using `MARISA_LABEL_ORDER`, which make predictive search iterating in lexicographic order. When trie index is build in label order, lexicographc could be utilized accelerating `Range` operations. However according to the official document, using `MARISA_LABEL_ORDER` will make "exact match lookup, common prefix search, and predictive search" slower. Signed-off-by: Congqi Xia <[email protected]>
Related to milvus-io#35941 Previous PR: milvus-io#35943 This PR make `Trie` index using `MARISA_LABEL_ORDER`, which make predictive search iterating in lexicographic order. When trie index is build in label order, lexicographc could be utilized accelerating `Range` operations. However according to the official document, using `MARISA_LABEL_ORDER` will make "exact match lookup, common prefix search, and predictive search" slower. Signed-off-by: Congqi Xia <[email protected]>
) Cherry pick from master pr: #36034 Related to #35941 Previous PR: #35943 This PR make `Trie` index using `MARISA_LABEL_ORDER`, which make predictive search iterating in lexicographic order. When trie index is build in label order, lexicographc could be utilized accelerating `Range` operations. However according to the official document, using `MARISA_LABEL_ORDER` will make "exact match lookup, common prefix search, and predictive search" slower. --------- Signed-off-by: Congqi Xia <[email protected]>
Related to #35941 Previous PR: #35943 This PR make `Trie` index using `MARISA_LABEL_ORDER`, which make predictive search iterating in lexicographic order. When trie index is build in label order, lexicographc could be utilized accelerating `Range` operations. However according to the official document, using `MARISA_LABEL_ORDER` will make "exact match lookup, common prefix search, and predictive search" slower. --------- Signed-off-by: Congqi Xia <[email protected]>
Related to milvus-io#35941 For marisa trie `predictive_search` default behavior, it value iterated is not in lexicographic order. This PR is a brute force fix to make range operator returns correct values. Signed-off-by: Congqi Xia <[email protected]>
…#36034) Related to milvus-io#35941 Previous PR: milvus-io#35943 This PR make `Trie` index using `MARISA_LABEL_ORDER`, which make predictive search iterating in lexicographic order. When trie index is build in label order, lexicographc could be utilized accelerating `Range` operations. However according to the official document, using `MARISA_LABEL_ORDER` will make "exact match lookup, common prefix search, and predictive search" slower. --------- Signed-off-by: Congqi Xia <[email protected]>
Related to #35941
For marisa trie
predictive_search
default behavior, it value iterated is not in lexicographic order.This PR is a brute force fix to make range operator returns correct values.