2390 Commits

Author SHA1 Message Date
Harpreet Sangar
23f7ac835d Add filter_result_iterator_t::valid(uint32_t id) test case. 2023-06-26 18:51:44 +05:30
Harpreet Sangar
75b41fba38 Add test case for complex filter. 2023-06-26 18:51:44 +05:30
Harpreet Sangar
dfc96079ca Add test cases for AND and OR. 2023-06-26 18:51:40 +05:30
Harpreet Sangar
92bbe8de9f Add NumericTrieNode::search_range. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
a10e5e532a Add test case. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
2b7d3f44f5 Add NumericTrie::search_lesser. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
5f3c00873f Add test case. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
821a80d177 Add NumericTrie::search_greater. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
855368e543 Add test cases. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
d440e510c0 Add NumericTrie. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
154d5348d6 Add geo_filtering_old_test.cpp. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
96174a8e14 Allow even a single value with square bracket notation. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
b66ac6a3ee Add comment. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
0c6e92d536 Add test cases. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
9a3f806af5 Skip exact filtering beyond threshold in case of geo polygon. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
8772706fd7 Add geo_filtering_test.cpp. 2023-06-26 15:20:00 +05:30
Harpreet Sangar
baffcf2969 Add logic to skip exact geo filtering beyond threshold. 2023-06-26 15:20:00 +05:30
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