Commit Graph

41 Commits

Author SHA1 Message Date
ecb88143f9 Run cargo fmt 2022-10-28 19:37:02 +05:30
03eb5d87c1 Only call plane_sweep on subgroups when 2 or more are present 2022-10-28 19:32:05 +05:30
d35afa0cf5 Change consecutive phrase search grouping logic
Co-authored-by: ManyTheFish <many@meilisearch.com>
2022-10-26 23:10:48 +05:30
af33d22f25 Consecutive is false when at least 1 stop word is surrounded by words 2022-10-26 19:09:45 +05:30
3e190503e6 Search for closest non-stop words in proximity criteria 2022-10-26 19:08:34 +05:30
62816dddde [WIP] Fix phrase search containing stop words
Fixes #661 and meilisearch/meilisearch#2905
2022-10-26 19:08:06 +05:30
6b2fe94192 Fixes for clippy bringing us down to 18 remaining issues.
This brings us a step closer to enforcing clippy on each build.
2022-10-25 20:49:02 +02:00
b389be48a0 Factorize phrase computation 2022-08-08 10:37:31 +02:00
cbb3b25459 Fix(Search): Fix phrase search candidates computation
This bug is an old bug but was hidden by the proximity criterion,
Phrase search were always returning an empty candidates list.

Before the fix, we were trying to find any words[n] near words[n]
instead of finding  any words[n] near words[n+1], for example:

for a phrase search '"Hello world"' we were searching for "hello" near "hello" first, instead of "hello" near "world".
2022-07-21 10:04:30 +02:00
49d59d88c2 Remove useless variables in proximity 2022-03-16 16:12:52 +01:00
32b7bd366f Remove the roaring operation functions warnings 2021-06-30 14:12:56 +02:00
9716fb3b36 format the whole project 2021-06-16 18:33:33 +02:00
312c2d1d8e Use the Error enum everywhere in the project 2021-06-14 16:58:38 +02:00
36715f571c Update milli/src/search/criteria/proximity.rs
Co-authored-by: Clément Renault <clement@meilisearch.com>
2021-06-10 11:30:33 +02:00
e923a3ed6a Replace Consecutive by Phrase in query tree
Replace Consecutive by Phrase in query tree in order to remove theorical bugs,
due of the Consecutive enum type.
2021-06-10 11:16:16 +02:00
a5e98cf46d Fix plane sweep algorithm 2021-05-25 18:21:55 +02:00
a3944a7083 Introduce a filtered_candidates field 2021-05-11 11:37:40 +02:00
e923d51b8f Make bucket candidates optionals 2021-05-10 10:27:04 +02:00
ee09e50e7f Remove excluded document in criteria iterations
- pass excluded document to criteria to remove them in higher levels of the bucket-sort
- merge already returned document with excluded documents to avoid duplicas

Related to #125 and #112
Fix #170
2021-04-29 12:09:38 +02:00
31607bf9cd Add a threshold on proximity when choosing between linear/set algorithm 2021-04-28 14:57:22 +02:00
0e4e6dfada Update milli/src/search/criteria/proximity.rs
Co-authored-by: Clément Renault <clement@meilisearch.com>
2021-04-27 17:29:52 +02:00
59f58c15f7 Implement attribute criterion
* Implement WordLevelIterator
* Implement QueryLevelIterator
* Implement set algorithm based on iterators

Not tested + Some TODO to fix
2021-04-27 14:39:52 +02:00
658f316511 Introduce the Initial Criterion 2021-04-27 14:35:43 +02:00
f8dee1b402 [makes clippy happy] search/criteria/proximity.rs 2021-04-21 12:36:45 +02:00
d301859bbd Introduce a special word_derivations function for Proximity 2021-03-10 10:42:53 +01:00
facfb4b615 Fix the bucket candidates 2021-03-10 10:42:53 +01:00
62a70c300d Optimize words criterion 2021-03-10 10:42:53 +01:00
d781a6164a Rewrite some code with idiomatic Rust 2021-03-08 16:27:52 +01:00
b18ec00a7a Add a logging_timer macro to te criterion next methods 2021-03-08 16:12:06 +01:00
82a0f678fb Introduce a cache on the docid_word_positions database method 2021-03-08 16:12:03 +01:00
5fcaedb880 Introduce a WordDerivationsCache struct 2021-03-08 16:00:53 +01:00
2606c92ef9 use plain sweep in proximity criterion 2021-03-08 15:58:39 +01:00
ae47bb3594 Introduce plane_sweep function in proximity criterion 2021-03-08 15:58:38 +01:00
2cc4a467a6 Change the criterion output that cannot fail 2021-03-03 18:18:33 +01:00
1fc25148da Remove useless where clauses for the criteria 2021-03-03 18:09:19 +01:00
cdaa96df63 optimize proximity criterion 2021-03-03 15:45:03 +01:00
025835c5b2 Fix the criteria to avoid always returning a placeholder 2021-03-03 15:45:03 +01:00
36c1f93ceb Do an union of the bucket candidates 2021-03-03 15:45:03 +01:00
7ac09d7b7c remove option of bucket_candidates 2021-03-03 15:45:03 +01:00
4510bbccca Add a lot of debug 2021-03-03 15:43:44 +01:00
9bc9b36645 Introduce the Proximity criterion 2021-03-03 15:43:44 +01:00