264 Commits

Author SHA1 Message Date
Krunal Gandhi
0d030f08fe
Faceting on top k (#1878)
* do faceting on top_k results

* make top_k faceting on single thread

* remove logging to tsv file

* Revert "remove logging to tsv file"

This reverts commit 42bd4fdc4607d3cb5000080ac8aeba21b602e279.

* add validation checks & aggregate facets

* add tests

* refactor code

* refactor facet parsing to single pass

---------

Co-authored-by: Kishore Nallan <kishorenc@gmail.com>
2024-09-03 13:01:46 +05:30
Harpreet Sangar
c8cd7e0472
Async reference field. (#1835)
* Add `async_reference` property to reference field.

* Accept `"async_reference": true` only when `reference` is provided.

* Avoid reference lookup during updation if ref helper field is present.

* Clear `referenced_in_backlog` on dispose.

* Add references asynchronously to singular reference field.

Store only the reference field name in the indexes instead of reference helper field name.

* Only update async references when a document is indexed successfully.

* Remove unused params.

* Refactor reference index.

* Move `update_async_references` into `Index`.

* Refactor `Collection::update_async_references_with_lock`.

* Handle async update of reference array field.

* Add test case.

* Remove `update_async_references` method from `Collection`.

* Add `Join` class.
2024-08-30 11:20:05 +05:30
Krunal Gandhi
3a24ba9f84
support random sort (#1918)
* support random sort

* add empty sort_fields check

* generate random score instead of shuffling

* refactor sort_random_t

* add seed value check
2024-08-29 18:20:33 +05:30
Kishore Nallan
917cca9439 Fix persistence range_index and stem properties. 2024-07-14 22:10:18 +05:30
Harpreet Sangar
6cb6a07891
sort_by nested join collection field. (#1793)
* sort_by nested join collection field.

* Refactor reference sort logic.
2024-07-02 15:17:08 +05:30
Harpreet Sangar
966a622072
Geosearch sorting with precision fix. (#1623)
* Add `geo_distance_meters` assert.

* Return real distances when precision is specified.

* Fix `CollectionSortingTest, GeoPointSorting`.

* Lock mutex in `Index::get_distance`.
2024-06-12 14:45:26 +05:30
Harpreet Sangar
397518cf37
Fix crash in sort by eval destructor. (#1685)
* Fix crash in sort by eval destructor.

* Add test for reference sort_by.
2024-04-25 14:24:05 +05:30
Harpreet Sangar
f05c113e65
Update reference include_fields syntax. (#1636) 2024-03-27 16:23:54 +05:30
Krunal Gandhi
d1079c633c
fix pinned hits with grouping and filter (#1572)
* fix pinned_hits_with_grouping

* remove repeated group_limit check
2024-02-22 18:47:42 +05:30
Krunal Gandhi
285eb2fa5d
fix excluding upper range val in search (#1564)
* fix excluding upper range val in search

* check lower_range while searching for range
2024-02-20 16:51:46 +05:30
Vegard Stikbakke
420c55ee6d Fix typo in error message for non-sortable field (#1547) 2024-02-13 17:38:30 +05:30
Ozan Armağan
18306e3dd2
Make HNSW params configurable (#1521) 2024-01-30 18:30:03 +05:30
Ozan Armağan
0f54bf7101
Add stemming support for fields (#1498)
* Add stemming support for fields

* Add tests for stemming

* Check if the stemmer is  loaded correctly

* Add mutex for stemmer initialization and usage

* Fix get_stemmer_mutex() function signature

* Add StemmerManager class and refactor field.cpp and index.cpp

* Add mutex for thread safety in StemmerManager

* update delete_all_stemmers()

* Update field property name from "stemming" to "stem"
2024-01-20 21:18:54 +05:30
Harpreet Sangar
08c0a087a1 Support nested join. 2024-01-02 14:14:21 +05:30
Harpreet Sangar
feb1041f65 Add nest_array reference include strategy. 2023-12-27 10:34:39 +05:30
Harpreet Sangar
4bd1619cd6 Parse nested reference include_fields. 2023-12-27 10:34:36 +05:30
Kishore Nallan
614f3c290c Restore concurrent facet processing. 2023-12-06 09:33:08 +05:30
ozanarmagan
93baeadccc Add support for image embeddings using CLIP 2023-11-17 00:03:25 +03:00
Harpreet Sangar
06a67d8b35 Rename to ".re". 2023-10-31 17:49:04 +05:30
Harpreet Sangar
b469962b42 Remove reference helper fields from response. 2023-10-31 17:36:42 +05:30
Harpreet Sangar
ce6a5c2f3f Add support for nest and merge reference include strategy. 2023-10-27 11:34:17 +05:30
ozanarmagan
9cc8f88310 Fix sort by vector query 2023-10-24 19:12:18 +03:00
Kishore Nallan
e6876fa147 Merge branch 'v0.25-join' into v0.26-facets
# Conflicts:
#	include/field.h
#	src/collection.cpp
#	src/index.cpp
#	test/collection_vector_search_test.cpp
2023-10-23 18:45:18 +05:30
Harpreet Sangar
4ffbe3aad1 Add reference_index for reference array field. 2023-10-20 13:41:02 +05:30
Harpreet Sangar
8878acc0f9 Handle references for string, string[], int32, int32[], int64 and int64[] field types. 2023-10-17 11:39:25 +05:30
ozanarmagan
dfbb1ebfb4 Refactor vector index lookup & normalization 2023-10-15 14:08:14 +03:00
ozanarmagan
4167fe69c8 Sort by vector query 2023-10-14 02:07:51 +03:00
krunal
eeb7521394 handle facet query with multiple tokens in value index 2023-10-13 15:38:02 +05:30
Kishore Nallan
191d62a0cb Merge branch 'v0.25-join' into v0.26-facets
# Conflicts:
#	include/collection_manager.h
#	include/index.h
#	src/collection.cpp
#	src/collection_manager.cpp
#	src/index.cpp
#	test/collection_specific_more_test.cpp
#	test/collection_vector_search_test.cpp
2023-10-09 21:52:48 +05:30
ozanarmagan
cc54fb8176 Review changes 2023-10-09 02:04:43 +03:00
ozanarmagan
61469b4d84 Unload models from RAM when it is unused 2023-10-07 15:08:46 +03:00
Kishore Nallan
67b6b00b37 Fix float stats with negative only value. 2023-10-05 14:31:06 +05:30
Harpreet Sangar
024dcc1b68 Support filter scoring. 2023-10-03 17:53:04 +05:30
Kishore Nallan
00be933b23 Allow unindexed non-optional field in schema. 2023-09-24 16:38:49 +05:30
krunal
fe716f27b9 return parent as json object 2023-09-19 14:06:21 +05:30
krunal
045a39f2b5 separate out parent field from value 2023-09-19 12:44:34 +05:30
Harpreet Sangar
ee05ecefa1 Support as to specify an alias for reference doc's fields.
Fix reference `include_fields` returning flattened fields.
2023-09-14 12:23:08 +05:30
Kishore Nallan
107981eb1f
Merge pull request #1131 from krunal1313/facet_sort
sort facet by other field for nested objects
2023-09-05 19:04:14 +05:30
Harpreet Sangar
e11aa723e6 Merge remote-tracking branch 'up/v0.26-facets' into v0.26-facets 2023-09-04 19:22:46 +05:30
Kishore Nallan
a713c2675f Merge branch 'v0.25-join' into v0.26-facets 2023-09-03 17:29:12 +05:30
ozanarmagan
dedb8e213d Remove validate_and_init_embed_fields 2023-09-02 17:21:07 +03:00
ozanarmagan
16a553dd3e Add tests & add validate_and_init_embed_field 2023-09-02 16:14:39 +03:00
krunal
46796826c6 sort by other field 2023-08-17 18:33:09 +05:30
Harpreet Sangar
f41afc155f Sort by reference field. 2023-08-17 11:34:51 +05:30
krunal
a282fbd1a8 merge v0.26-facets 2023-08-16 14:54:43 +05:30
Kishore Nallan
a3a44acf2f Have separate facet aggregation structures for value/hash facets. 2023-08-15 19:25:42 +05:30
krunal
87092620af cleanup & refactor 2023-08-10 20:22:18 +05:30
Kishore Nallan
2647d78728 Move facet index selection logic to compute facet infos. 2023-08-08 19:18:40 +05:30
Kishore Nallan
64c12c4cb2 Merge branch 'v0.25-join' into v0.26-facets 2023-08-08 15:57:24 +05:30
Kishore Nallan
10c1f4c5c1 Fix schema validation of non-optional, null nested values. 2023-08-08 13:06:12 +05:30