1853 Commits

Author SHA1 Message Date
Harpreet Sangar
cf5278f267
Timeout filter_result_iterator during compute_iterators. (#1785)
* Handle timeout during computation of filter_result_iterator in case of wildcard search.

* Pass `override_function_call_counter` as true in `filter_result_iterator_t::get_n_ids`.

* Invalidate iterator in `filter_result_iterator_t::get_n_ids`.

* Pass `timeout_info` into subtree in `filter_result_iterator_t::compute_iterators`.

* Fix `FilterTest, FilterTreeIteratorTimeout`.

* Refactor timeout logic.
2024-06-14 18:50:29 +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
Krunal Gandhi
2f16a71d98
add support for include exclude fields in doc fetch (#1782)
Co-authored-by: Kishore Nallan <kishorenc@gmail.com>
2024-06-12 09:33:14 +05:30
Kishore Nallan
e1615dddf8 Add test for field value coercion during removal. 2024-06-11 22:01:43 +05:30
Kishore Nallan
cdb6552898 Fix facet value hash mapping being cleared on sparsification.
We still need it for maintaning str -> id mapping.
2024-06-11 21:42:02 +05:30
Kishore Nallan
f6108feec5 Add validation and test for empty alter payload. 2024-06-07 21:49:05 +05:30
Krunal Gandhi
629def6f0f
support updation of collection meta (#1779)
* support updation of collection meta

* error on altering anything except fields and meta

* fix test

* add alter schema validation test

* extend alter schema fields check
2024-06-07 20:44:53 +05:30
Harpreet Sangar
4fee4dc286
Exact prefix value filter. (#1763)
* Exact prefix match on `string` field.

* Exact prefix match on `string[]` field.

---------

Co-authored-by: Kishore Nallan <kishorenc@gmail.com>
2024-06-07 14:57:34 +05:30
Kishore Nallan
25762a7c69 Fix test. 2024-06-07 14:02:51 +05:30
Ozan Armağan
5859e0fd3f
Fix filtering on stemmed fields (#1776)
* Fix filtering on stemmed fields

* Fix getting stemmer twice
2024-06-06 16:49:12 +05:30
Krunal Gandhi
b4b399a4b7
allow integer val for geopoint (#1773) 2024-06-05 20:42:22 +05:30
Ozan Armağan
002b188b56
Force whisper to not transcribe punctuations (#1771)
* Force whisper to not transcribe punctuations

* Fix the test
2024-06-05 14:53:39 +05:30
Harpreet Sangar
561b01bb51
Assign default sorting score if reference is not found while sorting by a reference field. (#1770) 2024-06-04 17:21:39 +05:30
Kishore Nallan
f47c09fd63 Fix synonym upserts. 2024-06-04 12:10:12 +05:30
Harpreet Sangar
2c3b595982
Fix posting_list_t::has_exact_match. (#1767)
* Add failing tests for `posting_list_t::has_exact_match`.

* Fix failing test.

* Add test case for `string[]` field.
2024-06-03 20:54:12 +05:30
Kishore Nallan
0bf8669327 Semantic search faceting should work only on k returned docs. 2024-05-29 18:02:00 +05:30
Kishore Nallan
b3db94867f Increase max length of facet value stored. 2024-05-29 10:35:28 +05:30
Krunal Gandhi
94af3afb66
allow special char in range facet labels (#1760) 2024-05-28 18:48:02 +05:30
Kishore Nallan
fdf16b0e23 Fix facet index type auto population for wildcard faceting. 2024-05-28 16:21:56 +05:30
Krunal Gandhi
3ab8517a8c
facet parent for array fields (#1756)
* return object itself as parent for array fields

* make variables const reference
2024-05-28 08:32:53 +05:30
Jason Bosco
1c0c5c4d51 Remove double quotes to prevent bad escaping in JSON response.
Fix for #1753
2024-05-24 16:26:00 -05:00
Ozan Armağan
ed87e63961
Fix stemming for non-English locales (#1745)
* Fix stemming for non-English locales

* Fix synoyms

* Use `query_tokens_t.q_unstemmed_tokens` for passing unstemmed tokens-

* Refactoring

* Move for loop in parse_search_query to process_tokens completely

* Use q_phrase_dummy and q_exclude_tokens_dummy for unstemmed process_tokens

* Add stopwords_set to process_tokens

* remove unused variables
2024-05-23 01:20:20 +05:30
Harpreet Sangar
8e808d4e29
Fix cascade deletion bug. (#1742)
* Fix cascade deletion bug.

* Add test case.
2024-05-21 19:52:21 +05:30
Harpreet Sangar
35e6a097af
Remove limit of 10 filter values to compute filter iterator. (#1739) 2024-05-21 03:02:29 +05:30
Krunal Gandhi
ef674a80f9
add flag hide_from_analytics (#1737)
* add flag hide_from_analytics

* change param name to enable_analytics
2024-05-21 02:34:48 +05:30
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
Harpreet Sangar
52b9d5a959
Fix sort_by parsing bug. (#1733) 2024-05-15 17:10:10 +05:30
Krunal Gandhi
6075362709
throw error when range faceted field has sorting disabled (#1726)
* range facets with sort disabled

* update test names

* throw error when range faceted field has sort disabled
2024-05-15 17:08:57 +05:30
Kishore Nallan
be57f68e64 Merge branch 'v0.26-facets' into v27 2024-05-15 08:32:21 +05:30
Ozan Armağan
1b4e08b29d
Use collections to store conversations (#1723)
* Use collections to store conversations

* Use conversation model to select conversation history collections

* Fix multi search add conversation call

* Add support for migrating conversation models

* use same suffix for all default conversation collections

* delete `delete_models_With_conversation_collection`
2024-05-14 15:32:35 -04:00
Harpreet Sangar
a6fa986286
Add float filter tests. (#1729) 2024-05-14 15:31:25 -04:00
Krunal Gandhi
f17f6f690e
allow fields containing sort keyword with range facets (#1730) 2024-05-14 08:22:29 -04:00
Harpreet Sangar
43a9bb75d1
Numeric iterator (#1709)
* Numeric filter iterator.

* Add test cases.

* Refactor.

* Float field filter iterator.
2024-05-13 04:34:52 +05:30
Harpreet Sangar
8d7def3eb9
Handle reference to an id field from an object array field. (#1721) 2024-05-10 18:34:57 +05:30
Krunal Gandhi
39cb7ba9ab
use filter_curated_hits to filter pinned_ids (#1711) 2024-05-07 20:34:23 -04:00
Kishore Nallan
0082c0f0da Rename the facet index type parameter to facet strategy. 2024-05-05 21:26:52 +05:30
Ozan Armağan
faad5a4097
Fix reindexing not stored fields on startup (#1707)
* Fix reindexing not stored fields on startup

* Add test
2024-05-04 10:30:37 -07:00
Krunal Gandhi
2e926e87c8
fix per_page results for group_by (#1695) 2024-05-03 07:02:59 +05:30
Kishore Nallan
506ead9066 Expose facet_index_type parameter. 2024-05-02 04:08:55 +05:30
Kishore Nallan
14338ce491 Return metadata in collection summary response. 2024-04-30 22:45:38 +05:30
Kishore Nallan
58c81989c5 Really fix the regression in flat search cutoff. 2024-04-26 17:43:32 +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
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
Lukas Laurinaitis
2dbbb43e94
Added config option max_per_page (#1577)
* Added limit page size parameter (#4)

* Added max_per_page in cofig

* added default topster size config

* removing const default_topster_size

* typo fix

* Update tests.yml

* few test fixes

* bug fix

* test fix

* added couple missing lines

* last test fix

* Added limit page size parameter (#5)

* Added max_per_page in cofig

* added default topster size config

* removing const default_topster_size

* typo fix

* Update tests.yml

* few test fixes

* bug fix

* test fix

* added couple missing lines

* last test fix

* few fixes after updates from origin

* restore default_topster_size parameter to const

* removing unrelated change and changing int to unsigned int

---------

Co-authored-by: Kishore Nallan <kishorenc@gmail.com>
2024-04-24 08:35:07 +05:30
Harpreet Sangar
f1e64039d8
Include nested reference collections. (#1683)
* Fix `Collection::prune_ref_doc` segfault.

* Allow including nested collections if a reference to it is present.
2024-04-23 11:45:37 +05:30
Kishore Nallan
96127b234b Fix regression in flat search cutoff score compute. 2024-04-19 16:49:45 +05:30
Harpreet Sangar
fca277cbf2
Improve lazy not iterator perf (#1669)
* Refactor `is_valid(id)` logic.

* Fix `CollectionFilteringTest` and `CollectionJoinTest`.

* Refactor not equals iterator logic.

* Fix `CollectionJoinTest.SortByReference`.

* Fix `filter_result_iterator_t::contains_atleast_one`.

* Refactor `filter_result_iterator_t::and_filter_iterators`.

* Refactor `filter_result_iterator_t::contains_atleast_one`.

* Update `approx_filter_ids_length` in not equals.
2024-04-18 21:26:47 +05:30
Kishore Nallan
4a4e50b3c7 Allow zero number in float values during vector query by id. 2024-04-17 16:49:43 +05:30
Harpreet Sangar
e1d1bd32d4
Add tests. (#1662) 2024-04-11 13:04:28 +05:30
Kishore Nallan
f92116245b Limit length of query stored for analytics. 2024-04-11 11:02:00 +05:30