2989 Commits

Author SHA1 Message Date
Harpreet Sangar
7fb193402d Add filter::parse_geopoint_filter_value. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
a7e57992d2 Add tests for filter_result_iterator_t::valid. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
7094840c72 Fix filter_result_iterator_t::valid not updating seq_id properly for complex filter expressions. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
5a9e5af738 Optimize filter_result_iterator_t::and_filter_iterators. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
5f7c1b542e Undo id list merge using priority queue. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
7274067a90 Optimize string filtering. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
ff6b317252 Try merging id lists using priority queue 2023-06-26 15:20:00 +05:30
Harpreet Sangar
a0778f24ad Fix HybridSearchRankFusionTest. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
6adbbfa02d Remove SEQ_IDS_FILTER logic. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
19be7b2d49 Fix failing join tests. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
a41368ace7 Fix ASAN issues. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
84214cc272 Fix alloc-dealloc-mismatch. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
2532351e60 Fix phrase search. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
0fa1b096f1 Add test for prefix search with filter. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
65c9b6fdd6 Refactor art_fuzzy_search_i. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
85f065e07b Fix filter_result_iterator_t::valid(uint32_t id) not updating seq_id in case of complex filter. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
95b104662f Refactor or_iterator_t::take_id. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
3ed7e38dd5 Add convenience methods in result_iter_state_t. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
59131cf49b Refactor string filter iteration. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
12debac719 Remove Index::do_filtering. Using filter_result_t instead. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
e294742693 Fix memory leaks:
* Handle deletion of `filter_tree_root` in `sort_fields_guard_t`.
* Handle `filter_tree_root` being updated in `Index::static_filter_query_eval`.
* Handle deletion of `phrase_result_ids` in `Index::search`.
2023-06-26 15:19:53 +05:30
Harpreet Sangar
6f08108498 Fix failing tests. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
a72473232b Add tests for ArrayUtils::skip_index_to_id. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
330af506e8 Add ArrayUtils::skip_index_to_id. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
91cd965247 Optimize exclusion in filter_result_iterator_t::get_n_ids. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
282dc421ff Handle excluded ids in filter_result_iterator_t::get_n_ids. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
0bacb3f251 Fix failing tests. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
1eafc22348 Support geo filtering. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
6db0b108a1 Add tests. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
9896541874 Add filter_result_iterator_t::get_n_ids.
Use `is_valid` instead of `valid()`.
Handle special `_all_` field name in filtering logic.
2023-06-26 15:19:07 +05:30
Harpreet Sangar
034f20f4e4 Expose filter ids from iterator where possible. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
00ccbeb56b Refactor numeric filter initialization. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
d7ae429cae Optimize filter_result_iterator_t::to_filter_id_array. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
eb44e3e592 Add numeric field support in filter_result_t. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
4abe7b6bee Fix approximation logic of filter matches in case of !=. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
b85af271d8 Handle != in filter_result_iterator_t. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
f304d409a3 Add approx_filter_ids_length field. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
a69344b1f7 Refactor Index::search_wildcard. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
68c2c5b378 Fix memory leak. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
e33b2a4191 Fix FacetFieldStringFiltering test. 2023-06-26 15:19:07 +05:30
Harpreet Sangar
4b2c41a8c9 Refactor filtering logic to overcome circular referencing.
Handle exact string filtering in `filter_result_iterator`.
2023-06-26 15:19:06 +05:30
Harpreet Sangar
bdadcf5b45 Add to_filter_id_array and and_scalar methods. 2023-06-26 15:19:06 +05:30
Harpreet Sangar
caf470ff76 Add move assignment operator in filter_result_iterator_t. 2023-06-26 15:19:06 +05:30
Harpreet Sangar
b1704c9f85 Refactor filter_result_iterator_t. 2023-06-26 15:19:06 +05:30
Harpreet Sangar
b72c46f21f Handle null filter tree. 2023-06-26 15:19:06 +05:30
Harpreet Sangar
e2a421f004 Add filter_result_iterator_t::reset. 2023-06-26 15:19:06 +05:30
Harpreet Sangar
54a925c02e Add tests for filter_result_iterator_t::contains_atleast_one. 2023-06-26 15:19:06 +05:30
Harpreet Sangar
e192fa7677 Add filter_result_iterator_t::contains_atleast_one. 2023-06-26 15:19:06 +05:30
Harpreet Sangar
9cd4e1b0a0 Refactor valid(id). 2023-06-26 15:19:06 +05:30
Harpreet Sangar
10aedf04cb Add filter_result_iterator_t::init_status(). 2023-06-26 15:19:06 +05:30