72 Commits

Author SHA1 Message Date
Kishore Nallan
b9d70433b4 Revert "Do grouping in two pass (#1677)"
This reverts commit dccf6eb1864870cffc5ca71e3307e59b6ee5d9b2.

# Conflicts:
#	src/index.cpp
2024-05-16 17:37:54 +05:30
Krunal Gandhi
dccf6eb186
Do grouping in two pass (#1677)
* do grouping in two pass

* add hyperloglog count, use distinct_key in kv_map

* counter for groups found in current pass, update the tests

* increase hyperloglog threshold, refactor topster test
2024-04-24 22:25:58 +05:30
Kishore Nallan
ce4b8e3e2c Merge branch 'v0.25-join' into v0.26-facets
# Conflicts:
#	include/collection.h
#	include/index.h
#	src/collection.cpp
#	src/collection_manager.cpp
#	src/index.cpp
#	test/collection_faceting_test.cpp
2023-10-03 11:13:23 +05:30
ozanarmagan
d42590c638 Don't return vector_distance for keyword only matches in hybrid search 2023-09-24 18:52:43 +03:00
Harpreet Sangar
eee222a8e2 Remove unwanted condition. 2023-08-17 11:34:54 +05:30
Harpreet Sangar
f41afc155f Sort by reference field. 2023-08-17 11:34:51 +05:30
Kishore Nallan
a4a62a9692 Merge branch 'v0.25-join' into v0.26-facets
# Conflicts:
#	include/topster.h
2023-08-15 10:09:07 +05:30
ozanarmagan
dafde32ce0 Fix KV constructor parameters 2023-08-14 23:25:18 +03:00
Kishore Nallan
2e24482882 Merge branch 'v0.25-join' into v0.26-facets
# Conflicts:
#	test/collection_specific_more_test.cpp
2023-08-11 11:44:03 +05:30
ozanarmagan
379604cad1 Fix wrong hybrid search text match score 2023-08-08 18:34:07 +03:00
Kishore Nallan
5932a8d37d Merge branch 'v0.25-join' into v0.26-facets
# Conflicts:
#	include/collection.h
#	src/collection.cpp
#	src/collection_manager.cpp
#	src/field.cpp
#	src/index.cpp
#	test/collection_filtering_test.cpp
2023-07-21 11:23:09 +05:30
Harpreet Sangar
0334f5e534 Include/Exclude reference fields. 2023-07-14 17:32:26 +05:30
Kishore Nallan
c2db7436a2 Allow params for hybrid vector search to be sent via vector_query. 2023-07-12 18:40:59 +05:30
Kishore Nallan
d5048f689b Merge branch 'v0.25-join' into v0.26-filter
# Conflicts:
#	src/index.cpp
2023-06-28 20:49:35 +05:30
ozanarmagan
99be1f69df Bug fixes for embedding generation process 2023-06-20 01:35:23 +03:00
Harpreet Sangar
191013dc5d Refactor filtering logic to overcome circular referencing.
Handle exact string filtering in `filter_result_iterator`.
2023-05-16 18:52:13 +05:30
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
Kishore Nallan
b03c84cb4a Merge branch 'v0.25' into v0.25-join 2023-03-05 09:30:45 +05:30
krunal1313
83b91c9174 making changes restricted to group query only 2023-02-27 20:10:27 +05:30
krunal1313
1b3e3a3455 fixing edge case of repeated field values while group hit count 2023-02-27 15:25:33 +05:30
Harpreet Sangar
c2211e914d temp. 2023-02-15 16:48:44 +05:30
Kishore Nallan
bc31be874a Add text match modes: max_score and max_weight. 2023-01-04 20:30:30 +05:30
Kishore Nallan
c1aace925c Handle match score not being part of sort fields.
In such a case, match score should not be returned in response.
2022-08-16 18:29:15 +05:30
Kishore Nallan
21c31de3b8 Ensure that topster is fully stable on equal values. 2022-04-15 11:03:46 +05:30
Kishore Nallan
a21628207e Refactor grouping with sorting. 2021-11-24 20:20:21 +05:30
Kishore Nallan
99721213ec Change map ds for sort aggregation. 2021-11-07 16:45:14 +05:30
Kishore Nallan
b2c12a9b2c Fix more edge cases in highlighting. 2021-07-31 08:59:49 +05:30
kishorenc
bc1d88f1eb Consider tokens matching across fields during ranking. 2020-12-28 19:20:00 +05:30
kishorenc
d7f94aa25a Remove field based match score aggregation in topster.
This is now handled outside.
2020-12-28 19:19:59 +05:30
kishorenc
8f818f7fcb More exhaustive multi-field ranking. 2020-12-28 19:19:59 +05:30
kishorenc
f164de4702 Multi field matching: ensure best matched field prevails. 2020-12-28 19:19:59 +05:30
kishorenc
7e2b0fcdcb Match query tokens across multiple fields effectively. 2020-12-28 19:19:59 +05:30
Kishore Nallan
908a8b0026 [Bug] String array field update + faceting.
Updates to string array fields were triggering a crash during faceting due to mismatch in array position.
2020-11-03 19:36:25 +05:30
kishorenc
ef40516790 Fixing an issue with grouping across indices. 2020-06-18 18:17:33 +05:30
kishorenc
b7dcb7367b Expose group by params. 2020-06-10 19:58:55 +05:30
kishorenc
8ffb9c5154 Reuse KV pointers instead of copying as objects. 2020-06-07 17:36:27 +05:30
kishorenc
b97c37215a Basic distinct test is passing. 2020-06-06 15:14:53 +05:30
kishorenc
8f458640fd Choose sift down/up based on array size. 2020-06-06 13:20:42 +05:30
kishorenc
5b2407433f Refactor topster to support grouping. 2020-06-05 20:41:51 +05:30
kishorenc
eced0873c2 Remove some duplication in topster. 2020-05-29 09:14:31 +05:30
kishorenc
5e1c5f2093 Ditch use of number_t for sorting. 2020-03-05 08:03:01 +05:30
kishorenc
eed10d554d Sort results on custom order. 2020-03-04 20:27:33 +05:30
kishorenc
7943839de2 Delete kvs. 2020-02-18 21:35:22 +05:30
kishorenc
fd285b6fbe Allow maximum hits returned to be configurable.
This obviously has a performance impact, but it might not be a big deal for most people and is now left to their discretion. The default of 500 results stays to maintain backward compatibility.
2020-02-10 20:54:38 +05:30
Kishore Nallan
c1b9501351 Lay foundations for overriding search results. 2019-08-10 19:46:37 +05:30
Kishore Nallan
13964b6a57 Allow collections to be symlinked by an alternative name. 2018-07-30 19:48:17 +05:30
Kishore Nallan
4f1736124b Use heap allocation rather than stack allocation for topster data. 2018-05-04 20:23:28 +05:30
Kishore Nallan
56ed39e3ff Refactor topster to ensure that it handles insertion of duplicate keys.
Instead of ignoring a duplicate blindly, ignore when match score is less than existing key.
2018-04-30 20:28:56 +05:30
Kishore Nallan
71f1fbb4aa Refactor query index logic. 2018-04-25 19:32:46 +05:30
Kishore Nallan
1d1cd2459b When multiple fields are searched, the same document should not be returned twice. 2018-04-24 17:49:04 +05:30