Commit Graph

1780 Commits

Author SHA1 Message Date
Andrey Vasnetsov
c45078686f refactor histogram: remove cell (#651) 2022-06-01 14:50:22 +04:00
Andrey Vasnetsov
25e1f2fc92 Remove method for histogram (#647)
* add remove method for histogram

* fmt + clippy
2022-05-31 18:35:21 +02:00
Andrey Vasnetsov
54a66844c5 add version to the segment (#640)
* add version to the segment

* add collection version saving

* Update lib/collection/src/lib.rs

Co-authored-by: Egor Ivkov <e.o.ivkov@gmail.com>

* Update lib/segment/src/segment.rs

Co-authored-by: Egor Ivkov <e.o.ivkov@gmail.com>

* remove self

* add comment

Co-authored-by: Egor Ivkov <e.o.ivkov@gmail.com>
2022-05-31 14:16:49 +02:00
Ivan Pleshkov
8968a9f437 Integration of improved histogram (#643)
* integration of improved histogram

* use stat tools for estimation
2022-05-31 14:27:15 +04:00
Andrey Vasnetsov
a94933c4ea New improved hisogram (#636)
* fixes for histogram

* fmt

* remove obsolete function

* remove obsolete check

* fix bugs

Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>
2022-05-30 18:59:01 +02:00
Ivan Pleshkov
2581a2e3f2 arm unused const warning (#633) 2022-05-27 16:34:00 +04: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
Gabriel Velo
493b7381b7 [real-time index] Extend PayloadFieldIndex trait with load, update and flush (#625)
[real-time index] Extend PayloadFieldIndex trait with load, update and flush methods
2022-05-25 11:25:40 -03:00
Gabriel Velo
6852ecb4c9 [real-time index] add OnDIsk persistence layer for geo index (#620)
[real-time index] add OnDIsk persistence layer for geo index
2022-05-24 11:11:30 -03:00
Ivan Pleshkov
519caaaa08 [real-time index] OnDisk persistence layer for keyword index (#604) 2022-05-20 19:26:58 +04:00
Gabriel Velo
8fd4a94934 [real-time index] add write to and load from rocksdb instance. (#601)
* [real-time index] add write to and load from rocksdb instance.

* [real-time index] add flush method

* [real-time index] fix error handling in load()

* [real-time index] add TODO tag to remember to remove result unwrap when we add error propagation to ValueIndexer trait.
2022-05-20 12:54:29 +04: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
Gabriel Velo
3dcf6f6842 [real-time index] add In-mem btree numeric index (#588) 2022-05-16 10:20:00 -03:00
Ivan Pleshkov
effb79733d Unite rocksdb of segment (#585)
unite rocksdb for segment
2022-05-13 17:06:07 +04:00
Ivan Pleshkov
a402b0ad84 Disable wal for rocksdb (#576)
rocksdb disable wal
2022-05-11 14:22:09 +04:00
dependabot[bot]
e277f1c121 Bump pprof from 0.8.0 to 0.9.0 (#579)
Bumps [pprof](https://github.com/tikv/pprof-rs) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/tikv/pprof-rs/releases)
- [Changelog](https://github.com/tikv/pprof-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tikv/pprof-rs/commits)

---
updated-dependencies:
- dependency-name: pprof
  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-10 20:50:20 +02:00
Ivan Pleshkov
e5f83bf479 rocksdb limited logs and common settings (#571) 2022-05-10 10:20:28 +04:00
Gabriel Velo
59ddb81330 add key encoding for numeric index. (#570)
add key encoding for numeric index.
2022-05-09 14:43:57 -03: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
Andrey Vasnetsov
30940c3989 wip: histogram PoC + some chore (#533) 2022-05-05 14:32:00 +02:00
Arnaud Gourlay
2ff03c20fd fix typo in openapi spec (#558) 2022-05-05 07:39:57 +02:00
dependabot[bot]
e2f309f878 Bump num-traits from 0.2.14 to 0.2.15 (#548)
Bumps [num-traits](https://github.com/rust-num/num-traits) from 0.2.14 to 0.2.15.
- [Release notes](https://github.com/rust-num/num-traits/releases)
- [Changelog](https://github.com/rust-num/num-traits/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-num/num-traits/compare/num-traits-0.2.14...num-traits-0.2.15)

---
updated-dependencies:
- dependency-name: num-traits
  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-04 08:48:18 +02:00
dependabot[bot]
ff8bf5ddf7 Bump ordered-float from 2.10.0 to 3.0.0 (#539)
Bumps [ordered-float](https://github.com/reem/rust-ordered-float) from 2.10.0 to 3.0.0.
- [Release notes](https://github.com/reem/rust-ordered-float/releases)
- [Commits](https://github.com/reem/rust-ordered-float/compare/v2.10.0...v3.0.0)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 11:16:38 +02:00
Arnaud Gourlay
794384f301 document flaky test and add more info in case of failure (#535) 2022-05-02 15:23:56 +02:00
Arnaud Gourlay
6f939648d1 [sharding] Remote shard operations via gRPC (#505)
* Remote shard operations via gRPC

* wire up properly the peer id address lookup

* remove unreachable_code by negating config. predicate

* TryFrom i32 for CollectionStatus

* split conversion code to improve readability

* collect HashMap results

* optimize imports

* extract request building code for readability

* ip_to_address uses Uri

* ip_to_address is encapsulated in the RemoteShard
2022-04-29 19:40:55 +02:00
Ivan Pleshkov
94b874bea0 optimize push in fixed priority queue (#513) 2022-04-27 18:06:12 +04:00
Ivan Pleshkov
5a3408667b Disable simd on small dimensions (#508)
Disable simd on small dimensions
2022-04-25 20:38:59 +04:00
dependabot[bot]
1eeb30bfcd Bump pprof from 0.7.0 to 0.8.0 (#498)
Bumps [pprof](https://github.com/tikv/pprof-rs) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/tikv/pprof-rs/releases)
- [Changelog](https://github.com/tikv/pprof-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tikv/pprof-rs/commits)

---
updated-dependencies:
- dependency-name: pprof
  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-04-21 09:40:58 +02:00
dependabot[bot]
1fe6101ab5 Bump rmp-serde from 1.0.0 to 1.1.0 (#492)
* Bump rmp-serde from 1.0.0 to 1.1.0

Bumps [rmp-serde](https://github.com/3Hren/msgpack-rust) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/3Hren/msgpack-rust/releases)
- [Commits](https://github.com/3Hren/msgpack-rust/compare/rmp-serde/v1.0.0...rmp-serde/v1.1.0)

---
updated-dependencies:
- dependency-name: rmp-serde
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* fix deprecated usages

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-04-20 11:45:38 +02:00
dependabot[bot]
5cbb14f372 Bump geo from 0.20.0 to 0.20.1 (#493)
* Bump geo from 0.20.0 to 0.20.1

Bumps [geo](https://github.com/georust/geo) from 0.20.0 to 0.20.1.
- [Release notes](https://github.com/georust/geo/releases)
- [Changelog](https://github.com/georust/geo/blob/main/CHANGES.md)
- [Commits](https://github.com/georust/geo/compare/geo-0.20.0...geo-0.20.1)

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

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

* remove workaround for geo-types

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-04-20 11:28:39 +02:00
Andrey Vasnetsov
bc6df8bd12 Better use of column index (#461)
* fmt

* remove redundent condition checker

* remove condition_checker from test

* fmt

* enum_dispatch for payload storage

* rm unused imports

* fmt

* replace enum_dispatch with manual stuff

* fmt

* filter optiizer

* cargo fix

* fmt

* refactor callback approach to payload checking

* cargo fix

* cargo fix

* fix

* fmt

* more filtering condition random fixture types

* clippy

* fmt

* restore lost value counts test

* Update lib/segment/src/index/query_optimization/optimized_filter.rs

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

Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-04-19 16:04:55 +02:00
dependabot[bot]
eeef63931f Bump geo from 0.19.0 to 0.20.0 (#488)
* Bump geo from 0.19.0 to 0.20.0

Bumps [geo](https://github.com/georust/geo) from 0.19.0 to 0.20.0.
- [Release notes](https://github.com/georust/geo/releases)
- [Changelog](https://github.com/georust/geo/blob/main/CHANGES.md)
- [Commits](https://github.com/georust/geo/compare/geo-0.19.0...geo-0.20.0)

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

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

* geo-types 0.7.4

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-04-19 11:11:41 +02:00
Andrey Vasnetsov
bd3ef8c052 also consider the corner case in test (#474) 2022-04-13 14:00:33 +02:00
Andrey Vasnetsov
d8ed9b2b2b v0.7.0 - upd version and docs (#462)
* upd version and docs

* fix clippy
2022-04-11 18:40:35 +02:00
Andrey Vasnetsov
f7d52244a7 Column oriented filter context (#456)
* [WIP] column oriented filter context

* suggestion

* [WIP] fix lifetimes and add more checkers

* refactor and externd struct filter context

* fmt

* add type alias for the condition checker

* fmt

Co-authored-by: gabriel velo <gabriel.velo@gmail.com>
2022-04-11 17:48:07 +02:00
Andrey Vasnetsov
ef67a2ec59 Condition search benchmark (#435)
* decouple payload index and vector storage

* wip: test fixtures

* conditional search benchmark

* fmt

* use arc iterator for filtered queries

* fmt

* enable all benches

* fix warn

* upd tests

* fmt

* Update lib/segment/src/fixtures/payload_context_fixture.rs

Co-authored-by: Egor Ivkov <e.o.ivkov@gmail.com>

* Update lib/segment/src/payload_storage/query_checker.rs

Co-authored-by: Egor Ivkov <e.o.ivkov@gmail.com>

Co-authored-by: Egor Ivkov <e.o.ivkov@gmail.com>
2022-04-11 17:43:02 +02:00
Ivan Pleshkov
757652c59e Use chunked vec in vector storage (#457)
avoid vec of vec in simple storage

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2022-04-09 20:47:11 +04:00
Ivan Pleshkov
ff21a13083 Remove overcomplicated iterator (#409)
remove dyn iterator from filtered scorer

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2022-04-08 18:04:59 +04:00
Egor Ivkov
aeea31dfa4 Wait for operation commit (#436)
* Wait for operation commit

* Review: Option with timeout, return execution err to API

* Review: Add comment about error forwarding in ???
2022-04-06 18:00:44 +03:00
Andrey Vasnetsov
ce21abf033 Values count condition (#439)
* add values_count condition

* fmt

* fix tests and clippy

* fmt
2022-04-05 14:31:53 +02:00
Andrey Vasnetsov
b07428f620 Is empty condition (#423)
* is-empty condition

* fmt

* better assert

* fmt
2022-04-03 16:55:51 +02:00
Andrey Vasnetsov
adc1f4ad97 Bool filter (#421)
* bool match condition

* use generic values for match requests

* fmt

* upd grpc interface

* upd grpc docs
2022-04-03 16:08:34 +02:00
Andrey Vasnetsov
0d50690c47 Column index (#405)
* add column storage to field index
2022-04-01 09:58:00 -03:00
Egor Ivkov
d3e0d7dcec Integrate consensus into execution pipeline (#410)
* Integrate consensus into execution pipeline

* Review: Remove unnecessary config
2022-03-31 17:54:55 +03:00
Gabriel Velo
c29c9a46d4 [json storage] Filtering context (#413)
* [WIP] add a basic filtering context scaffold

* add PlainFilterContext and StructFilterContext
2022-03-31 08:57:18 -03:00
Arnaud Gourlay
2a81fc9142 Remove sled for alias mappings (#402)
* improve alias tests

* introduce new alias persistence and remove Sled

* introduce FileStorageError

* use new error in AliasMapping

* aliases are kept in memory and saved to disk when modified

* better naming

* make alias renaming atomic

* fmt

* use correct alias and docs

* code review: cleaner error conversion
2022-03-23 14:21:04 +01:00
Gabriel Velo
f69a7b740f json as payload (#306)
add json as payload
Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2022-03-21 07:09:10 -03:00
Arnaud Gourlay
34048c6fed index geo payload (#366)
* index geo payload

* fix group_points_per_region

* code review: use entry API

* geohash into box for payload_blocks

* add failing test for investigation

* workaround for when exp < min

* test with 2 geo values per point

* fix rounding error in cardinality estimation

* fmt

* code review: decompose using Iterator of slices

* code review: handle points with severak geo payloads

* refactor

* fix review comments

* review fixes

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2022-03-20 13:10:08 +01:00
Ivan Pleshkov
eb6885b75a are you happy clippy 2022-03-16 13:15:14 +04:00