* rename to FacetRequestInternal
* add rest endpoint
* fix correctness by fetching the whole list of values
* fix mmap map index variant
Also removes test for sorted output, for now
* add ytt spec
* fix clippy
* use hashmap inside of local shard
* rename operation to `facet`, add access test
* whitelist endpoint
* change api
* make limit optional
* Migrate uuid index to mmap
* add uuid numeric index
* select correct index + tenants
* Only serialize if necessary
* select correct index
* reset Cargo.toml
* review: use only map index for uuid for now
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* add force_ram parameter to chuncked mmap vector storage
* enable mlocked mmap vector storage on unix by default
* regen openapi
* add mlock on creation of chunck
* minor unrelated renaming
* rollback changes in LockedChunkedMmap
* fmt
* make AppendableMmapDenseVectorStorage generic of storage type
* make AppendableMmapMultiDenseVectorStorage generic of storage type
* implement initialization of InRamChunkedMmap
* implement MultiDenseAppendableInRam and variations
* enable InRamChunkedMmap for multivectors
* use same CHUNK_SIZE for mmap and regular chuncked vectors
* enable InRamChunkedMmap by default
* fix tests
* rollback usage of InRamChunkedMmap by default
* review changes
* add assertion on chunk_capacity [skip-ci]
* Add and fix missing timeout in the retrieve APIs
* no need for extra timeout handling as single ops are doing it
* don't surface timeout too high in shard transfer infra
* add todos for future work
* update timeout after first query
* add UuidIndex
* fix clippy
* rebase to dev
* update api docs
* don't use wrapper type for Uuid index
* rebase to `dev`
* remove existence checking
* rename UuidPayloadKeyType => UuidIntType
* apply review changes
* rebase to dev
* post-rebase fixes
* Improve estimation
* Improve naming
* Apply suggestions from code review
Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
* use u128 in histogram and improve uuid sorting
* Also allow defragmentation for completely random Uuids
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* Refactor: Convert app and cluster info metrics from counters to gauges
- Change app_info, app_status_recovery_mode, and cluster_enabled metrics from COUNTER to GAUGE
- Update metric values to use boolean as f64 for consistency and clarity
- Improve metric type accuracy for better representation of state information
* fix: Update docs regarding metrics type
* openapi: Update app_info metric type
* metrics: Update test to check for the right metric type
* example for CollectionsResponse
* points_example for ScrollResult
* example for SnapshotDescription
* fix
* example for AliasDescription
* fix: Style nit: add newline
* fix time and id
* fix order_value
* upd openapi
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* expose random sampling query
* fix random query rescoring
* only ignore offset when there are no prefetches
* fix offset and with_payload/with_vector
* gen grpc docs
* make tests less flaky
* gen openapi schema
* Remove suffixed spaces
---------
Co-authored-by: timvisee <tim@visee.me>
* sorting
* migrate tests and move logic into SegmentBuilder
* add test and improve implementation
* improve code
* review
* code review improvements
* add index building to test
* Do not clone ranges
* Resolve clippy warnings due to recent PR on dev
* review suggestions
* Defragmentation in api (#4684)
* add tenant config to api
* deduplicate used defragmentation keys
* rename is_tenant to is_primary
* use all values to defrag key
* rename is_primary -> is_tenant
* update schema
---------
Co-authored-by: generall <andrey@vasnetsov.com>
Co-authored-by: timvisee <tim@visee.me>
* Move CODE_OF_CONDUCT.md to docs
* Move CONTRIBUTING.md to docs
* Drop QUICK_START_GRPC.md
* Drop docs/favicon.ico as being unused
* Move QUICK_START.md to docs
* Revert "Merge pull request #4560"
This reverts commit 5b0536df39.
* point id examples
* payload example
* VectorStruct example
* fmt
* ShardKey example
* OrderValue example
* fix
* example for SeqNumberType, ScoreType
* universal-query: Grouping REST API
* add API docs
* bump API count
* add jwt validation test
* fix API
* better test
* stay on CoreSearchRequest where possible
* use existing scoring helper
* push broken test to illustrate issue
* track best score per point_id to enable sort on payload
* add example test for query discover with groups
* track ScoredPoint instead of PointId
* add default values for smoother ux
* schemars example for vectors in scored point
* schemars example for payload in scored point
* Using json! in schemars example for payload in scored point
* fix
* schemars example for shard_key in scored point
* schemars example for order_by in scored point
* schemars example for id, version, score in scored point
* schemars example for id, payload, vector, shard_key, order_value in …
* point id examples
* remove id_example in schema.rs
* schemars example for vector, named_sparse_vector, named_vector
* schemars example for order_by
* schemars example for OrderByInterface
* schemars example for Fusion
* schemars example for MultiDenseVector,DenseVector in VectorInput
* schemars example for QueryRequest
* schemars example for QueryRequestBatch
* schemars example for QueryResponse
* schemars example for FusionQuery, OrderByQuery, ContextQuery, Discove…
* example for WithLookup, ContextPair, ContextInput, DiscoverInput, Rec…
* fix
* Use poetry for openapi tests
* Use poetry for consensus tests
* Use poetry for gen_storage_compat_data/populate_db.py
* Make consensus_tests scripts executable
* Use poetry for test-consensus-compose
* Cleanup
* Don't call poetry run in scripts
* Add resharding status to API
* Report human readable resharding status in cluster info
* Fix delete stage not showing shard IDs
* Update OpenAPI spec
* Temporarily hide resharding operations in cluster info if empty
We'll enable it again to always be included when releasing resharding
* Remove resharding details from cluster info in gRPC until release
---------
Co-authored-by: timvisee <tim@visee.me>
* 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