Commit Graph

5465 Commits

Author SHA1 Message Date
Luis Cossío
7c911abae0 [text index] don't optimize when loading a mmap-backed immutable index (#6785)
* don't optimize when loading a mmap-backed immutable index

* clear cache after laoding text index from mmap

* Revert "clear cache after laoding text index from mmap"

This reverts commit 110199e8eb.

---------

Co-authored-by: generall <andrey@vasnetsov.com>
2025-07-01 22:14:37 +02:00
dependabot[bot]
5701e21240 build(deps): bump indexmap from 2.9.0 to 2.10.0 (#6781)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.9.0 to 2.10.0.
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.9.0...2.10.0)

---
updated-dependencies:
- dependency-name: indexmap
  dependency-version: 2.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 08:02:55 +02:00
dependabot[bot]
bae9036fd0 build(deps): bump indicatif from 0.17.11 to 0.17.12 (#6782)
Bumps [indicatif](https://github.com/console-rs/indicatif) from 0.17.11 to 0.17.12.
- [Release notes](https://github.com/console-rs/indicatif/releases)
- [Commits](https://github.com/console-rs/indicatif/compare/0.17.11...0.17.12)

---
updated-dependencies:
- dependency-name: indicatif
  dependency-version: 0.17.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 06:52:34 +02:00
Tim Visée
488f13a93a Actively migrate payload storage from RocksDB to Gridstore (#6734)
* Migrate RocksDB based payload storage into Gridstore

* Add migrate_rocksdb_payload_storage feature flag

* Minor tweaks

* Use iter to migrate all payloads

* Fix clippy warning

* Update OpenAPI spec

* Track if mmap payload storage is populated, set memory/disk storage type

* Add test

* Log amount of bytes we migrate instead of point count

* Remove TODO

* Render storage size migrated in human human readable format, not bytes

* On migration failure, drop full payload storage directory

* Fix missing import
2025-06-30 16:22:38 +02:00
Arnaud Gourlay
e950937724 Optimize SearchResultAggregator by hashing only once (#6776) 2025-06-30 13:17:38 +02:00
Kumar Shivendu
c656c06145 Log when aborting resharding (#6771)
* Log when aborting resharding

* Log in the outer function

* fmt

* add log in both functions

* fmt
2025-06-27 22:49:13 +05:30
Jojii
bfc5706450 Implement new multilingual tokenizer (#6762)
* Implement new multilingual tokenizer

* Remove unnecessary clones

* Codespell

* filter stopwords before stemmer

* Fix Chinese stopwords (#6765)

* Fix Chinese stopwords

* remove todo

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2025-06-26 15:49:32 +02:00
Ivan Pleshkov
5895877577 Fix sq internal vector encoding (#6763)
* Fix SQ internal vector encoding

* add test

* clippy warning
2025-06-26 15:08:50 +02:00
Andrey Vasnetsov
15a52a460d inference errors (#6759)
* fix error handling in inference

* fmt

* Update src/common/inference/service.rs

---------

Co-authored-by: Tim Visée <tim+github@visee.me>
2025-06-26 11:12:09 +02:00
Roman Titov
4705bff773 Improve read request handling during partial-snapshot recovery (#6725)
* Fix read request handling during partial snapshot recovery

* fixup! Fix read request handling during partial snapshot recovery

Just use a second lock 😔

* fixup! Fix read request handling during partial snapshot recovery

Remove accidental `\`

Co-authored-by: Tim Visée <tim+github@visee.me>

---------

Co-authored-by: Tim Visée <tim+github@visee.me>
2025-06-26 10:35:34 +02:00
Andrey Vasnetsov
c11b96301b remove max indexing threads from config (#6760)
* remove max_optimization_threads from config.yaml

* fmt
2025-06-26 10:26:09 +02:00
Jason Mobarak
64f9cd85a4 Enable pod role based auth for s3 snapshots (#6757) 2025-06-26 10:05:39 +02:00
Jojii
2e0cfeb1fa Add Japanese stopwords (#6683)
* Add Japanese stopwords

* Adjust list to be more close to source & update openapi
2025-06-25 15:06:46 +02:00
Tim Visée
393dd6f5cf Add in-memory payload storage on Gridstore (#6722)
* Add in-ram-mmap payload storage type

* When RocksDB is not compiled, select in-ram mmap payload storage

* Enable payload storage on-disk check again in config mismatch optimizer

* Add feature flag to build in-ram-mmap payload storage

* Tweak is_on_disk condition

* Bump version estimates in runtime feature flags
2025-06-25 14:37:45 +02:00
Andrey Vasnetsov
c29ab98a40 check if we try to deactivate last initializing replica (#6755)
* check if we try to deactivate last initializing replica

* consider more cases

* Update lib/collection/src/shards/replica_set/mod.rs

Co-authored-by: Tim Visée <tim+github@visee.me>

---------

Co-authored-by: Tim Visée <tim+github@visee.me>
2025-06-25 14:04:22 +02:00
xzfc
706571d8b4 Configurable HNSW healing threshold (#6756) 2025-06-25 10:22:18 +00:00
Jojii
4959debadf Add new multilingual tokenizer (#6678)
* Add new tokenizer for multilingual

* Make codespell happy

* improve handling of when to apply stemming

* Fix stemming implementation

* Fix Japanese language detection. Add tests for MultilingualV2

* Update lib/segment/src/index/field_index/full_text_index/tokenizers/japanese.rs

Co-authored-by: Luis Cossío <luis.cossio@qdrant.com>

* Update lib/segment/src/index/field_index/full_text_index/tokenizers/japanese.rs

Co-authored-by: Luis Cossío <luis.cossio@qdrant.com>

* Update lib/segment/src/index/field_index/full_text_index/tokenizers/multilingual.rs

Co-authored-by: Luis Cossío <luis.cossio@qdrant.com>

* Make init() private

* move model into segment, filter non-alphanumeric tokens

* fmt

* exclude punctuation from tokenizer result

* fm

---------

Co-authored-by: Luis Cossío <luis.cossio@qdrant.com>
Co-authored-by: generall <andrey@vasnetsov.com>
2025-06-25 11:39:46 +02:00
Kumar Shivendu
37919f5b10 Partial snapshot is recovering telemetry (#6677)
* Tweak partial snaposhot `recover` and `recover_from` response...

...to return `status: already_in_progress` instead of error

* Tweak partial snapshot integration tests

* Add new telemetry field is_recovering for partial snapshots

* Update OpenAPI spec

---------

Co-authored-by: Roman Titov <ffuugoo@users.noreply.github.com>
2025-06-25 13:50:41 +05:30
Luis Cossío
6919e3ae5b [phrase matching] expose phrase condition (#6670)
* add `"match": { "phrase": ... }` condition

* gen grpc and openapi

* [phrase matching] expose `phrase_matching` flag in rest and grpc (#6620)

* expose setting in rest and grpc

* phrase matching openapi test

* regen openapi

* [phrase matching] Text index fixes (#6730)

* allow rocksdb-based immutable text index

* fix repeated-token phrases

* fmt

* Update OpenAPI spec

---------

Co-authored-by: timvisee <tim@visee.me>

* add repeated word case in openapi test

* [phrase match | strict mode] Allow phrase condition when enabled in index (#6749)

* allow phrase filter when index is present

* prettier error message

* clippppppy

---------

Co-authored-by: timvisee <tim@visee.me>
2025-06-24 16:56:36 -04:00
Tim Visée
42de66d5e6 Fix debug panic in issues API, specify integer index param defaults (#6753)
* Fix incorrect defaults for integer index params in issues API

* Specify default for integer index params in comment

* Update OpenAPI and gRPC spec
2025-06-24 17:23:32 +02:00
Tim Visée
5e1728dadd Add validation for legacy collection names (#6752)
* Add function for validating legacy collection names

* Apply legacy collection name validation everywhere

* Add more validation to gRPC endpoints

* Adjust tests
2025-06-24 20:02:40 +05:30
Arnaud Gourlay
9195483cce Fix hardware measurement for quantized multivector (#6724) 2025-06-24 13:11:06 +02:00
Luis Cossío
dd63603e98 use seq mmap in iter (#6750)
Also refactor to use const generics
2025-06-24 12:56:30 +02:00
Andrey Vasnetsov
3d76eec660 use indexed vectors instead of available points for IDF computation (#6739) 2025-06-24 12:50:31 +02:00
dependabot[bot]
5431482cb9 build(deps): bump io-uring from 0.7.7 to 0.7.8 (#6741)
Bumps [io-uring](https://github.com/tokio-rs/io-uring) from 0.7.7 to 0.7.8.
- [Commits](https://github.com/tokio-rs/io-uring/commits)

---
updated-dependencies:
- dependency-name: io-uring
  dependency-version: 0.7.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-24 11:22:13 +02:00
Tim Visée
db45678d0a Bump Cargo.lock (#6751) 2025-06-24 11:21:19 +02:00
dependabot[bot]
73d10b46e0 build(deps): bump env_logger from 0.11.6 to 0.11.8 (#6748) 2025-06-23 21:54:46 +00:00
dependabot[bot]
867b30e9f5 build(deps): bump roaring from 0.10.12 to 0.11.0 (#6744) 2025-06-23 21:53:52 +00:00
dependabot[bot]
66833c817e build(deps): bump prettyplease from 0.2.34 to 0.2.35 (#6745) 2025-06-23 21:53:08 +00:00
dependabot[bot]
aadb0bd7e6 build(deps): bump lz4_flex from 0.11.4 to 0.11.5 (#6746) 2025-06-23 21:52:09 +00:00
dependabot[bot]
a8623a52bc build(deps): bump zerocopy from 0.8.25 to 0.8.26 (#6747) 2025-06-23 21:50:59 +00:00
dependabot[bot]
ce6ea4b228 build(deps): bump libc from 0.2.173 to 0.2.174 (#6742)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.173 to 0.2.174.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.174/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.173...0.2.174)

---
updated-dependencies:
- dependency-name: libc
  dependency-version: 0.2.174
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 20:55:11 +00:00
Luis Cossío
be6e425a75 [gridstore] update a selection instead of a range of regions (#6713)
* update a selection instead of a range of regions

* extend instead of loop

* use div_ceil to calculate region_id range
2025-06-23 15:23:54 -04:00
xzfc
318a5546db Clean up QuantizedVectors::raw_internal_scorer (#6740) 2025-06-23 16:42:04 +00:00
Arnaud Gourlay
55dc06587e Fix hardware measurement for retrieve with_vector (#6723) 2025-06-23 13:30:15 +02:00
Ivan Pleshkov
de54049e55 Don't encode quantization query while hnsw build (#6729)
* dont encode quantization query while hnsw build

* add comments

---------

Co-authored-by: generall <andrey@vasnetsov.com>
2025-06-23 10:34:00 +02:00
xzfc
58edda71e5 Generalize RawScorer construction (#6733)
* Generic raw_scorer_impl and new_scorer_with_metric

* Generic raw_multi_scorer_impl and new_multi_scorer_with_metric

* Remove unused imports
2025-06-21 11:22:27 +02:00
xzfc
c0c757914b Fix CI cargo --locked build (#6732) 2025-06-20 17:04:58 +02:00
xzfc
f46a8ff5e2 Add hnsw_incremental_build benchmark (#6615) 2025-06-20 14:10:42 +00:00
Tim Visée
3e362c3156 Fix vector storage migration error (#6718)
* Fix not changing storage states, migrate vector storages in full segment

* Destroy old vector storage data after updating segment config

* Disable existing migrations, only use segment level ones

* Remove segment config update warnings

* Correctly bump sparse vector storage type

* Fix clippy warnings without RocksDB feature flag
2025-06-20 15:24:39 +02:00
Andrey Vasnetsov
352e689dd5 check if the quantization config changed in order to evaluate if we can re-use HNSW index (#6726)
* check if the quantization config changed in order to evaluate if we can re-use HNSW index

* Touch up

---------

Co-authored-by: xzfc <xzfcpw@gmail.com>
2025-06-20 10:46:54 +02:00
xzfc
912c1d7928 Insert backlinks during healing (#6650)
* refactor: add GraphLinks::to_edges

* refactor: copy-on-write is no more

* Healing: insert backlinks

* Replace SearchContext with FixedLengthPriorityQueue
2025-06-19 19:04:12 +00:00
Ivan Pleshkov
fe5becdadd Merge pull request #6663
* bq encodings

* are you happy clippy

* are you happy clippy

* are you happy clippy

* are you happy clippy

* gpu tests

* update models

* are you happy fmt

* move additional bits to the end

* fix tests

* Welford's Algorithm

* review remarks

* are you happy clippy

* remove debug println in test

* coderabit nitpicks

* remove unnecessary clone and partialeq

* Use f64 for Welford's Algorithm

* try fix ci

* revert cargo-nextest

* add debug assertions
2025-06-19 18:21:00 +02:00
Tim Visée
f79ad06ae9 build(deps): bump urllib3 from 2.4.0 to 2.5.0 in /tests (#6721)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.4.0...2.5.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-19 10:07:19 +02:00
Roman Titov
a87a4e0d79 Track version of mutable files in vector and payload storage (#6652) 2025-06-17 19:00:11 +02:00
Arnaud Gourlay
d7010f5c49 Fix quantized multivector vector_io_read for best_score recommendation (#6696)
* Fix quantized multivector vector_io_read for best_score recommendation

* post-rebase fixes

---------

Co-authored-by: generall <andrey@vasnetsov.com>
2025-06-17 10:41:34 +02:00
xzfc
6717d38cc4 Replace some generic parameters with associated types (#6711)
* Make EncodedVectors::EncodedQuery associated type

* Make EncodedStorageBuilder::Storage associated type

* Make QueryScorer::TVector associated type

* Remove TVector from RawScorerImpl generic parameters
2025-06-17 07:32:22 +00:00
Arnaud Gourlay
91636754cb Fix CI cargo --locked build (#6712) 2025-06-17 08:10:04 +02:00
dependabot[bot]
822822d7aa build(deps): bump sysinfo from 0.33.1 to 0.35.2 (#6698)
Bumps [sysinfo](https://github.com/GuillaumeGomez/sysinfo) from 0.33.1 to 0.35.2.
- [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/GuillaumeGomez/sysinfo/compare/v0.33.1...v0.35.2)

---
updated-dependencies:
- dependency-name: sysinfo
  dependency-version: 0.35.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-17 07:25:39 +02:00
dependabot[bot]
da8da97cf7 build(deps): bump libc from 0.2.172 to 0.2.173 (#6706) 2025-06-17 03:26:24 +00:00