* universal-query: Add validations to query input
* update openapi spec
* use raw request to by-pass local validations
* add validation for order_by and factorize
* minor conversion improvement
* use NamedVectors in update_vectors
* remove merge from VectorStruct
* rename Multi -> Named in vector struct
* add multi-dense vectors option into VectorStruct
* generate openapi
* rename VectorStruct -> VectorStructInternal
* add conversion for anonymous multivec in grpc
* renames for BatchVectorStruct
* implement multi-dense for batch
* allow multi-dense in batch upserts
* test and fixes
* Add serde/validate attributes to resharding operations, matching others
* Fix broken comment
* Add debug message for resharding driver entering stages
* Fix shard transfer start setting state of wrong replica for resharding
* Remove obsolete clones
* Add target shard ID to shard key, add relevant gRPC types
* Move target shard ID below source shard ID field
* Rename collection_name to collection_id
* Reformat
* Transferring point batches must merge points in case of resharding
* In resharding state, sync list of peers on start
* Add logic for setting replica set state through consensus dispatcher
* Properly start resharding transfer
* Properly finish resharding transfers, set shard state correctly
* Fix shard transfer initialisation with different target shard
* Fix shard state handling with resharding on all nodes on transfer start
* Don't reset locally disabled state if only existing shard is resharding
* Add important TODOs
* Update OpenAPI and gRPC specification
* Elaborate on some logic in code with comments
* Use user configured shard transfer method for replication
* Add debug assert, on transfer start we should not replace existing shard
* On transfer start, be aware of different sender/receiver local states
This fixes transfers where we might not have a replica on all nodes
* Fix shard transfer not setting cutoff point on target shard
* While resharding, migrate shards in numerical order
* On shard transfer initialisation, ensure transfer targets given shard
* universal-query: add with_lookup to query API definition
* fix consistency doc check
* lookup_from and not lookup_with
* clean import
* improve doc for lookup location wrt using
* Suggestions for descriptions
---------
Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
in grpc:
- restructure `ContextInput`, so that it becomes easy to handle both pairs and positive/negative lists in the future
in rest:
- restructure context queries so that they don't repeat the label in order to be used . E.g. turn `{ query: { context: { context: [ ... ] } } }` into `{ query: { context: [ ... ] } }`
- fixes fusion so that `{query: { fusion: "rrf" } }` actually works
both:
- renames `RecommendInput` positives and negatives to singular (same as in reco api)
* add `query` to shard trait
* add missing conversions for query
* update grpc docs
* Query response has intermediate results
* add ShardQueryResponse description
* move pub use to the top, keep only one way of reaching reexports
* REST API multivector for write and retrieve
* add test showing search is not supported
* use helper
* debug asserts
* better naming
* iterator style
* better naming
* add validation test for checking all inner vectors have the same size