Commit Graph

620 Commits

Author SHA1 Message Date
Andrey Vasnetsov
c3bc5b3873 rename grpc fields + re-generate docs (#980) 2022-09-01 18:59:47 +02:00
Andrey Vasnetsov
b9eee55a9f Full text search (#963)
* allow additional params for payload field index

* fmt

* wip: full text index building

* fmt

* text search request

* text search request

* full text index persitance and loading

* fmt

* enable fts index in mapping

* clippy

* fix tests + add integration test

* review fixes: extend payload index test

* revert incedental change
2022-09-01 12:50:12 +02:00
Arnaud Gourlay
03c10fc310 Batch recommendation API (#954) 2022-08-22 09:41:22 +02:00
Andrey Vasnetsov
a2acca0345 Segment batch search (#813)
* batch search benchmark

* collect filter iterator in indexed search

* fmt

* fix

* fix

* fmt

* use new tempfile create

* auto batching

* Clippy fixes

* REST, gRPC and internal APIs

* fix bugs & less duplication

* two steps payload retrieval mechanism & fix duplication

* add proxy_segment implementation & tests

* add gRPC docs

* remove unused code (#950)

* only filter ids within a batch

* add more equivalence tests

* add integration test search vs batch

* assert more search options in tests

* cleanup assertions

* fix offset panic

* rename search batch API

* openapi spec

Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-08-18 14:48:17 +02:00
Andrey Vasnetsov
993e94eaef V0.9.1 (#939)
* minor fix + upd version to 0.9.1

* fmt

* fix clippy

* fix test
2022-08-10 21:15:40 +02:00
Egor Ivkov
a4e760af34 AddPeer in one consensus operation (#923)
* AddPeer in one consensus operation
2022-08-09 17:00:38 +03:00
Arnaud Gourlay
935e9a21aa update v0.9.0 (#919)
* update v0.9.0

* update gRPC docs

* update abort transfer
2022-08-08 11:13:54 +02:00
Andrey Vasnetsov
00e965fc96 Configuration change on peer removal (#914)
* propose configuration change along with removal of the peer

* fmt
2022-08-04 14:47:49 +02:00
Andrey Vasnetsov
60c7131cc6 Indexed vectors in collection info (#879)
* include number of indexed points into the info api

* fmt

* await for a certain level of indexing progressing before promoting shard

* log before waiting

* await for index fixes

Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-08-03 16:19:19 +02:00
Andrey Vasnetsov
826165cfcf fix enum conversion in gRPC (#898) 2022-08-03 09:48:30 +02:00
Andrey Vasnetsov
bae041ecb4 upd version to 0.8.6 2022-07-26 19:28:53 +02:00
dependabot[bot]
79c8e0ef8b Bump tokio from 1.20.0 to 1.20.1 (#856)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.20.0 to 1.20.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.20.0...tokio-1.20.1)

---
updated-dependencies:
- dependency-name: tokio
  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>
2022-07-26 08:58:16 +02:00
Andrey Vasnetsov
314f139183 upd v0.8.5 (#852) 2022-07-25 20:05:07 +02:00
Andrey Vasnetsov
dfe2d591a5 Clever channel timeout (#851)
* active connection liveness check for channels

* clippy
2022-07-25 18:42:56 +02:00
Egor Ivkov
fd70b662d1 Recreate transport channels on network error (#845)
* Recreate transport channels on network error

* fmt

* Recreate channel upd (#847)

* recoverable channels

* recoverable channels

* retry on specific response error codes

* rename: ChannelsToUri -> ChannelPool

* rename: get_last_created -> get_created_at

* fmt

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2022-07-25 12:22:16 +02:00
Arnaud Gourlay
7a8b04db6f [Sharding] Temporary shards for receiving transfer (#829)
Temporary shards for receiving transfer
2022-07-21 10:53:32 +02:00
Andrey Vasnetsov
123332c867 Full snapshot (#824)
* full snapshot rest api

* openapi for snapshots

* openapi snapshot api

* fmt + clippy

* fix recovery + implement grpc methods

* fmt

* same aliases to full storage snapshot

* fmt
2022-07-18 17:11:23 +02:00
Egor Ivkov
026bd040b0 Add import formatting rules (#820)
* Add import formatting rules

* Review fix: update rusty hook
2022-07-15 15:42:25 +03:00
dependabot[bot]
2e1d6c11bd Bump tokio from 1.19.2 to 1.20.0 (#811)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.19.2 to 1.20.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.19.2...tokio-1.20.0)

---
updated-dependencies:
- dependency-name: tokio
  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>
2022-07-15 10:59:37 +02:00
Andrey Vasnetsov
763628178b upd version to v0.8.4 (#781) 2022-07-05 11:13:03 +02:00
Andrey Vasnetsov
098bc4c751 Count api (#777)
* count api

* test for approx counting

* fmt + clippy

* unit test

* add warning
2022-07-05 09:33:38 +02:00
Arnaud Gourlay
b23d3c7243 gRPC API for snapshot (#772) 2022-07-04 19:14:40 +02:00
Andrey Vasnetsov
e983b07a15 Parallel hnsw building (#773)
* parallel hnsw building

* improve hnsw payload blocks condition

* update indexing optimizer condition

* fmt
2022-07-03 01:14:05 +02:00
Andrey Vasnetsov
9abb73a431 v0.8.3 (#755)
* v0.8.3

* update rest schema
2022-06-28 11:51:29 +02:00
Andrey Vasnetsov
92c05bb56f set max number of open files for rocksdb 2022-06-28 02:22:08 +02:00
Andrey Vasnetsov
850e937c2a Storage points tracking refactoring (#750)
* segment refactoring

* rm points iterator

* fmt
2022-06-27 15:17:09 +02:00
Andrey Vasnetsov
83c21450c3 Pagination (#743)
* offset param for search and recomendation

* test and fix for pagination

* clippy + fmt

* upd schemas

* fix grpc requests in test
2022-06-27 13:22:02 +02:00
Andrey Vasnetsov
c6405efb1f v0.8.2 (#740) 2022-06-24 13:14:48 +02:00
Egor Ivkov
e12b91e10c Promote learner (#735)
* Promote learner

Also fixes ERROR voters not found

* Review fixes

* Review: Find learner first
2022-06-24 11:27:58 +03:00
Arnaud Gourlay
fa5a501e25 Remove last sleep consensus test (#720)
* remove sleep by polling peer addition

* cleanup
2022-06-21 17:59:59 +02:00
dependabot[bot]
5157983e2f Bump tower from 0.4.12 to 0.4.13 (#717)
Bumps [tower](https://github.com/tower-rs/tower) from 0.4.12 to 0.4.13.
- [Release notes](https://github.com/tower-rs/tower/releases)
- [Commits](https://github.com/tower-rs/tower/compare/tower-0.4.12...tower-0.4.13)

---
updated-dependencies:
- dependency-name: tower
  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>
2022-06-20 22:12:26 +02:00
Andrey Vasnetsov
9871cace14 upd version to 0.8.1 (#708) 2022-06-16 15:30:46 +02:00
Andrey Vasnetsov
63b868233e release v0.8.0 (#667)
* release v0.8.0

* upd roadmap
2022-06-08 12:47:10 +02:00
dependabot[bot]
c21855551f Bump tokio from 1.18.2 to 1.19.2 (#664)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.18.2 to 1.19.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/commits)

---
updated-dependencies:
- dependency-name: tokio
  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>
2022-06-06 21:43:35 +02:00
Gabriel Velo
c15981092a [WIP] [real-time index] Implement payloadstorage for structpayloadindex (#642)
* [real-time index] Extend FieldIndex enum and StructPayloadIndex with method from PayloadStorage

* [real-time index] add missing remove_point methods

* [real-time index] add new index to FieldIndex enum

* fix compile

* are you happy fmt

* merge load and remove

* fix test generics

* decrement points count

* remove from histogram

* simplify histogram usage

* [real-time index] remove old tests and fix clippy warnings

* histogram: method to derive range by size (#657)

* [real-time index] add histogram based payload_blocks implementation.

* payload blocks

* fmt

* clippy

* [real-time index] refactor Segment to use PayloadIndex instead of PayloadStorage.

* fix tests

* fmt

* clippy

* rename indexes

* remove redundent params

* add struct payload deletion test + fix delete payload in map index

* remove payload threshold

Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>
Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2022-06-06 17:14:20 +02:00
Andrey Vasnetsov
f92535aa39 update qdrant.rs 2022-06-02 19:15:35 +02:00
Andrey Vasnetsov
7c254a0de0 preserve fields order in OpenAPI schema (#655) 2022-06-02 19:12:30 +02:00
Andrey Vasnetsov
2601c017de Smarter defaults (#637)
* auto segments number

* auto segments number

* replace vector number limits with vector size limits

* fmt
2022-06-01 18:09:38 +02:00
Ivan Pleshkov
708a5b211a fix handwrited comment in qdrant.rs (#653) 2022-06-01 17:45:14 +02:00
Andrey Vasnetsov
1b458780eb On disk payload storage (#634)
* implement on-disk payload storage

* fmt + clippy

* config param for on-disk payload storage

* upd openapi definitions

* add integration test with on-disk payload

* fix clippy

* review fixes

* fmt
2022-06-01 17:23:34 +02:00
Andrey Vasnetsov
3d505f5ae5 gRPC int payload (#564)
* use custom message for json representation in gRPC

* fmt
2022-05-30 19:10:37 +02:00
dependabot[bot]
ab975486d0 Bump uuid from 1.0.0 to 1.1.0 (#630)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.0.0...1.1.0)

---
updated-dependencies:
- dependency-name: uuid
  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>
2022-05-25 20:43:36 +02:00
dependabot[bot]
9543e8c733 Bump schemars from 0.8.9 to 0.8.10 (#602)
Bumps [schemars](https://github.com/GREsau/schemars) from 0.8.9 to 0.8.10.
- [Release notes](https://github.com/GREsau/schemars/releases)
- [Changelog](https://github.com/GREsau/schemars/blob/master/CHANGELOG.md)
- [Commits](https://github.com/GREsau/schemars/compare/v0.8.9...v0.8.10)

---
updated-dependencies:
- dependency-name: schemars
  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>
2022-05-17 21:59:05 +02:00
dependabot[bot]
6ec5ff0596 Bump uuid from 0.8.2 to 1.0.0 (#499)
* Bump uuid from 0.8.2 to 1.0.0

Bumps [uuid](https://github.com/uuid-rs/uuid) from 0.8.2 to 1.0.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/0.8.2...1.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* schemars 0.8.9 with uuid1 support

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-05-17 10:27:31 +02:00
Arnaud Gourlay
0a33e00647 Pool gRPC transport channels (#584)
* Pool gRPC transport channels

* code review: do not use an extra layer of Arc

* code review: better naming
2022-05-13 14:44:06 +02:00
Andrey Vasnetsov
5800319edb refactor distances + add score_threshold + fix negative euclid distance (#569)
* refactor distances + add score_threshold + fix negative euclid distance

* generate docs

* fix clippy

* Update lib/segment/src/spaces/tools.rs

Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>

Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-05-09 17:32:48 +02:00
dependabot[bot]
cfcff554fb Bump tonic from 0.7.1 to 0.7.2 (#563)
Bumps [tonic](https://github.com/hyperium/tonic) from 0.7.1 to 0.7.2.
- [Release notes](https://github.com/hyperium/tonic/releases)
- [Changelog](https://github.com/hyperium/tonic/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/tonic/compare/v0.7.1...v0.7.2)

---
updated-dependencies:
- dependency-name: tonic
  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>
2022-05-05 21:12:12 +02:00
dependabot[bot]
71b3c922d1 Bump tonic-build from 0.7.1 to 0.7.2 (#562)
Bumps [tonic-build](https://github.com/hyperium/tonic) from 0.7.1 to 0.7.2.
- [Release notes](https://github.com/hyperium/tonic/releases)
- [Changelog](https://github.com/hyperium/tonic/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/tonic/compare/v0.7.1...v0.7.2)

---
updated-dependencies:
- dependency-name: tonic-build
  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>
2022-05-05 20:55:05 +02:00
Egor Ivkov
f3fc921e51 Derive this peer uri if not supplied (#546) 2022-05-03 16:17:06 +03:00
Egor Ivkov
40c4c1ec2c Allows bootstrapping peer on addition (#529)
* Allows bootstrapping peer on addition

* Review: warn on address replacement

* Review: more detailed comments
2022-05-02 18:02:35 +03:00