53 Commits

Author SHA1 Message Date
Harpreet Sangar
e78d209911 Add filter_result_t struct.
Add `reference_filter_result_t` struct.
Add support for lazy filtering.
Update `rearrange_filter_tree` to return approximate count of filter matches.
2023-03-10 18:18:46 +05:30
Harpreet Sangar
2d39461eca Fix rebase error. 2023-03-10 18:18:46 +05:30
Harpreet Sangar
72b8d4c26e Filter by reference. 2023-03-10 18:18:46 +05:30
Kishore Nallan
1bcacfacff Merge branch 'v0.25' into v0.25-join 2023-03-05 10:56:31 +05:30
Kishore Nallan
f48b9ffe6e Extract doc validation functions out. 2023-03-05 10:55:42 +05:30
Kishore Nallan
b03c84cb4a Merge branch 'v0.25' into v0.25-join 2023-03-05 09:30:45 +05:30
ozanarmagan
e1d452b713 Review changes II 2023-02-27 13:24:42 +03:00
Kishore Nallan
7655f6de1d Merge branch 'v0.24.1' into v0.25
# Conflicts:
#	src/collection.cpp
#	test/collection_locale_test.cpp
2023-02-26 20:37:42 +05:30
Kishore Nallan
26e3407d1d Add guards for filter node. 2023-02-26 19:58:24 +05:30
ozanarmagan
4f728c98fe Review Changes 2023-02-21 13:02:47 +03:00
ozanarmagan
4f921a3040 Auto vector generation & Hybrid Search 2023-02-16 14:47:17 +03:00
Harpreet Sangar
84fbcf37fd Add reference_fields map in Collection. 2023-02-16 14:47:17 +03:00
Harpreet Sangar
a3d79062ad Add Index::adaptive_filter. 2023-02-16 14:47:17 +03:00
Harpreet Sangar
7f11eb4bfa Optimize reference filtering. 2023-02-16 14:47:17 +03:00
Harpreet Sangar
e628a24d6e Filter by reference. 2023-02-16 14:47:17 +03:00
Harpreet Sangar
c01b0ccf85 Abstract foo_sequence_id field from user. 2023-02-16 14:47:17 +03:00
Harpreet Sangar
249294a657 Index foo_sequence_id field that stores sequence_id of referenced document. 2023-02-16 14:47:17 +03:00
Harpreet Sangar
c25d69ea85 Persist reference field property. 2023-02-16 14:47:17 +03:00
Harpreet Sangar
f4eb8716fc Add reference in field struct. 2023-02-16 14:47:17 +03:00
Kishore Nallan
995fae5123 Merge branch 'v0.24.1' into v0.25 2023-02-10 11:39:11 +05:30
Kishore Nallan
eabea8f248 Handle geopoint inside nested array of objects. 2023-02-07 20:11:40 +05:30
Kishore Nallan
8d9825617b Merge branch 'v0.24.1' into v0.25 2023-02-06 10:24:05 +05:30
Kishore Nallan
0579398993 Allow null values for optional nested fields. 2023-02-05 10:58:40 +05:30
Harpreet Sangar
34b16cdb21
Add != compatibility for numeric type. (#835)
* Add `!=` compatibility for numeric type.

* Add `numeric_not_equals_filter` method.

* Refactor `numeric_not_equals_filter` method.

* Support `!=` for numeric field multi-value filter_by.

* Ignore local settings file.

* Add comment.

* Add tests.

* Update negation test.

* Set `apply_not_equals` flag for string fields as well.

* Add `field: [!=value]` test.
2022-12-29 20:57:10 +05:30
Kishore Nallan
cbf5985307 Fix duplication of nested fields during flattening. 2022-11-23 15:08:04 +05:30
Kishore Nallan
4e7c5560aa Handle missing optional object fields. 2022-11-19 08:49:11 +05:30
Kishore Nallan
9277e6f498 Return error when object type is used without enabling nested fields. 2022-11-15 20:48:16 +05:30
Kishore Nallan
7aa7543dae Speed up vector indexing.
Parallelize inserts + remove sort/filter indices for vector field.
2022-11-03 15:36:00 +05:30
Kishore Nallan
4212a107ed Ensure that detected nested fields inherit field properties. 2022-11-01 17:19:45 +05:30
Kishore Nallan
81b6712296 Fix highlighting for fields with dot in their names. 2022-10-31 13:07:09 +05:30
Harpreet Sangar
9651c1abdf
Add Tokenize test. (#756)
* Add Tokenize test.

* Add Tokenize test case.

* Review changes.
2022-10-18 12:07:39 +05:30
Harpreet Sangar
f75cbca920
Filter query (#737)
* Implement advance filter query parser.

* Remove `exclude_filters`.

* Review changes

* Implement do_filtering2

* Use updated implementation

* Pass failing tests.

* Handle special characters in value.

* Add space around  in embedded filters

* Update tokenize

* Rename to `recursive_filtering`

* Deconstruct filter tree.

* Remove separating space requirement for operators

* Fix rebase errors.

* Undo filter override change

* Format changes

* Pass StaticFilteringMultipleRuleMatch

* Undo formatting changes

* Pass DynamicFilteringMultipleRuleMatch

* Review changes.

* Add filter_query guard.
2022-10-11 11:21:20 +05:30
Kishore Nallan
d2daad2c3d Basic alter support for nested fields.
No longer storing .flat inside the document.
2022-09-13 14:47:17 +05:30
Kishore Nallan
dff7f8b746 Don't persist flattened nested field values on disk.
Instead, we will reconstruct them when we fetch them from disk, trading cpu for storage.
2022-09-12 15:04:12 +05:30
Kishore Nallan
aeb4424662 Better error messages for nested field type mismatch. 2022-09-11 18:53:14 +05:30
Kishore Nallan
720855f406 Use cosine similarity as default vector distance. 2022-09-02 17:48:02 +05:30
Kishore Nallan
a98e5bacdd Vector search basics. 2022-08-27 13:47:09 +05:30
Kishore Nallan
84f5c4cd72 Force geopoint field to be sortable when schema is created. 2022-08-18 11:16:54 +05:30
Kishore Nallan
9b4fb12729 Explicitly dot separated fields should have precedence. 2022-08-08 12:18:16 +05:30
Kishore Nallan
869d515688 Handle optional restriction for nested fields. 2022-08-05 19:24:06 +05:30
Kishore Nallan
a90bfba930 Multiple explicit nested fields should be allowed. 2022-08-03 18:38:18 +05:30
Kishore Nallan
f86f8b5487 Support nested fields with explicit schema. 2022-08-01 19:44:25 +05:30
Kishore Nallan
bef79000e1 Skeleton for nested field indexing and highlighting. 2022-07-25 17:25:49 +05:30
Kishore Nallan
c481920979 Take care of empty filter value in filter by id. 2022-05-18 16:16:22 +05:30
Kishore Nallan
5b462f5233 Drop/readd within same schema change set. 2022-04-14 12:23:38 +05:30
Kishore Nallan
a5b06a0e0d Schema change basics. 2022-03-26 08:22:40 +05:30
Kishore Nallan
254abbfdbc Don't require facet index for not equals. 2022-03-19 20:30:38 +05:30
Kishore Nallan
76460589fa Fix geo sorting options + handle space around unit. 2022-01-09 08:17:46 +05:30
Kishore Nallan
24cce48bc2 Support use of strict equals + backtick on ID field. 2021-11-13 16:11:47 +05:30
Kishore Nallan
a3def7dc5b Simplify facet value filtering. 2021-11-02 16:43:28 +05:30