-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Added hybrid search command #3573
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
base: master
Are you sure you want to change the base?
Conversation
* Add support for XReadGroup CLAIM argument * modify tutorial tests --------- Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
* feat: add acl support and command test * validate client name before kill it --------- Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
* improvements * linter fixes * prevention on unnecessary allocations in case of bad configuration * Test/Benchmark, old code with safety harness preventing panic --------- Co-authored-by: manish <manish.sharma@manifestit.io> Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
* support for latency command * add NonRedisEnterprise label for latency test
* Add support for certain slowlog commands * add NonRedisEnterprise label for slow reset test --------- Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
* add cas/cad commands
* feat(command): Add SetIFDEQ, SetIFDNE and *Get cmds
Decided to move the *Get argument as a separate methods, since the
response will be always the previous value, but in the case where
the previous value is `OK` there result may be ambiguous.
* fix tests
* matchValue to be interface{}
* Only Args approach for DelEx
* use uint64 for digest, add example
* test only for 8.4
7d6c0a2 to
0bc0888
Compare
ndyakov
left a comment
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.
left couple comments, other than that lgtm.
| for _, field := range options.Load { | ||
| // Redis requires field names in LOAD to be prefixed with '@' (or '$' for JSON paths). | ||
| // Tests pass plain field names (e.g. "description"), so add the '@' prefix here. | ||
| args = append(args, "@"+field) |
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.
shoudn't the user decide if he/she would like to use plain fields or json paths? hence we should not prefix, but the user should pass @field or $path.name ?
| if fieldName != "" && fieldName[0] != '@' && fieldName[0] != '$' { | ||
| fieldName = "@" + fieldName | ||
| } |
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.
similar here, we are checking if there is a prefix, we can do the same for load. yes, it makes some sense to autoprefix @ if there is no prefix, but this is debatable. how are other clients handling this?
| type FTHybridVectorExpression struct { | ||
| VectorField string | ||
| VectorData Vector | ||
| Method string // KNN or RANGE |
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.
should we have those KNN and RANGE defined?
Added support for the new ft.hybrid command.
Test are adapted version of the redis-py tests redis/redis-py#3813