2348 Commits

Author SHA1 Message Date
Harpreet Sangar
fedf8f4ec1 Add geo_filtering_old_test.cpp. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
61b813ecf7 Allow even a single value with square bracket notation. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
ccf1f97193 Add comment. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
2af35a3624 Add test cases. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
b825ce752a Skip exact filtering beyond threshold in case of geo polygon. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
4c2811f46d Add geo_filtering_test.cpp. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
de42309059 Add logic to skip exact geo filtering beyond threshold. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
87159b556f Add filter::parse_geopoint_filter_value. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
2d7fc818d5 Add tests for filter_result_iterator_t::valid. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
90c2b4f7e9 Fix filter_result_iterator_t::valid not updating seq_id properly for complex filter expressions. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
be9975ac1d Optimize filter_result_iterator_t::and_filter_iterators. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
ef77b58f2b Undo id list merge using priority queue. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
548aee4f99 Optimize string filtering. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
928150008a Try merging id lists using priority queue 2023-05-31 09:08:42 +05:30
Harpreet Sangar
5bf8746d0c Fix HybridSearchRankFusionTest. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
fdd643b563 Remove SEQ_IDS_FILTER logic. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
1520be463b Fix failing join tests. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
d32b732701 Fix ASAN issues. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
1b5a47181d Fix alloc-dealloc-mismatch. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
9362c5a5e0 Fix phrase search. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
91c1c321dc Add test for prefix search with filter. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
85de14c8c3 Refactor art_fuzzy_search_i. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
56de9b1265 Fix filter_result_iterator_t::valid(uint32_t id) not updating seq_id in case of complex filter. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
cf7086c295 Refactor or_iterator_t::take_id. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
329e16652d Add convenience methods in result_iter_state_t. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
9aa226a461 Refactor string filter iteration. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
5c3333058d Remove Index::do_filtering. Using filter_result_t instead. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
6acc7d8557 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-05-31 09:08:42 +05:30
Harpreet Sangar
173e6436df Fix failing tests. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
321b4034e5 Add tests for ArrayUtils::skip_index_to_id. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
158791e376 Add ArrayUtils::skip_index_to_id. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
63119b0eb1 Optimize exclusion in filter_result_iterator_t::get_n_ids. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
92c0a837b1 Handle excluded ids in filter_result_iterator_t::get_n_ids. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
26f50d5178 Fix failing tests. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
4d21853f62 Support geo filtering. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
66e830c591 Add tests. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
9c34236f2e Add filter_result_iterator_t::get_n_ids.
Use `is_valid` instead of `valid()`.
Handle special `_all_` field name in filtering logic.
2023-05-31 09:08:42 +05:30
Harpreet Sangar
45975327ff Expose filter ids from iterator where possible. 2023-05-31 09:08:42 +05:30
Harpreet Sangar
b71ad7fd50 Refactor numeric filter initialization. 2023-05-31 09:08:41 +05:30
Harpreet Sangar
2740262cb6 Optimize filter_result_iterator_t::to_filter_id_array. 2023-05-31 09:08:41 +05:30
Harpreet Sangar
f4c229793a Add numeric field support in filter_result_t. 2023-05-31 09:08:41 +05:30
Harpreet Sangar
9a9154b631 Fix approximation logic of filter matches in case of !=. 2023-05-31 09:08:41 +05:30
Harpreet Sangar
f2d5ae961b Handle != in filter_result_iterator_t. 2023-05-31 09:08:41 +05:30
Harpreet Sangar
0f8bb94b1e Add approx_filter_ids_length field. 2023-05-31 09:08:41 +05:30
Harpreet Sangar
95c452c3db Refactor Index::search_wildcard. 2023-05-31 09:08:41 +05:30
Harpreet Sangar
25c9eba1a5 Fix memory leak. 2023-05-31 09:08:41 +05:30
Harpreet Sangar
a749d83401 Fix FacetFieldStringFiltering test. 2023-05-31 09:08:41 +05:30
Harpreet Sangar
7b3b321aaf Refactor filtering logic to overcome circular referencing.
Handle exact string filtering in `filter_result_iterator`.
2023-05-31 09:08:39 +05:30
Harpreet Sangar
6493a0d2cf Add to_filter_id_array and and_scalar methods. 2023-05-31 09:07:18 +05:30
Harpreet Sangar
bb15dba254 Add move assignment operator in filter_result_iterator_t. 2023-05-31 09:07:18 +05:30