4131: Reduce proximity range from 7 to 3 r=Kerollmops a=ManyTheFish

## Summary
This PR aims to reduce the impact of the proximity databases on the indexing time and on the database size by reducing the maximum distance between two words to be indexed in the proximity database.

## Stats

### Impact on database size and indexing time
![Impact on datasets](https://github.com/meilisearch/meilisearch/assets/6482087/28ed3d96-bdde-41c1-bdac-e90c1b1dbb23)

### Impact on search relevancy

<details>

| dataset_name | host_name        | Relevancy rate (Precision) | completion_rate  25.00% | completion_rate 50.00% | completion_rate 75.00% | completion_rate 100.00% |
|--------------|------------------|------------------------------------|-----------------|-----------------|-----------------|-----------------|
| FBIS         | 1_4_0            | percentile-10 |           0.00% |           0.00% |           0.00% |           0.00% |
| FBIS         | 1_4_0            | percentile-25 |           0.00% |           0.00% |           0.00% |           0.00% |
| FBIS         | 1_4_0            | percentile-50 |           0.00% |           0.00% |           5.00% |           5.56% |
| FBIS         | 1_4_0            | percentile-75 |           0.00% |          12.50% |          35.00% |          45.00% |
| FBIS         | 1_4_0            | percentile-90 |          20.00% |          40.00% |                 |         100.00% |
| FBIS         | 1_4_0            | average       |           5.78% |          11.16% |          21.90% |          26.29% |
| FBIS         | reduce_proximity | percentile-10 |           0.00% |           0.00% |           0.00% |           0.00% |
| FBIS         | reduce_proximity | percentile-25 |           0.00% |           0.00% |           0.00% |           0.00% |
| FBIS         | reduce_proximity | percentile-50 |           0.00% |           0.00% |           5.00% |           5.56% |
| FBIS         | reduce_proximity | percentile-75 |           0.00% |          15.00% |          35.00% |          40.00% |
| FBIS         | reduce_proximity | percentile-90 |          20.00% |          40.00% |          85.00% |         100.00% |
| FBIS         | reduce_proximity | average       |           5.55% |          11.34% |          21.75% |          26.14% |
| FR94         | 1_4_0            | percentile-10 |           0.00% |           0.00% |           0.00% |           0.00% |
| FR94         | 1_4_0            | percentile-25 |           0.00% |           0.00% |           0.00% |           0.00% |
| FR94         | 1_4_0            | percentile-50 |           0.00% |           0.00% |           0.00% |           0.00% |
| FR94         | 1_4_0            | percentile-75 |           0.00% |           5.00% |          15.00% |          42.11% |
| FR94         | 1_4_0            | percentile-90 |          15.00% |          54.55% |         100.00% |         100.00% |
| FR94         | 1_4_0            | average       |           5.95% |          12.07% |          18.70% |          25.57% |
| FR94         | reduce_proximity | percentile-10 |           0.00% |           0.00% |           0.00% |           0.00% |
| FR94         | reduce_proximity | percentile-25 |           0.00% |           0.00% |           0.00% |           0.00% |
| FR94         | reduce_proximity | percentile-50 |           0.00% |           0.00% |           0.00% |           0.00% |
| FR94         | reduce_proximity | percentile-75 |           0.00% |           5.00% |          15.00% |          42.11% |
| FR94         | reduce_proximity | percentile-90 |          15.00% |          54.55% |         100.00% |         100.00% |
| FR94         | reduce_proximity | average       |           5.79% |          12.00% |          18.70% |          25.53% |
| FT           | 1_4_0            | percentile-10 |           0.00% |           0.00% |           0.00% |           0.00% |
| FT           | 1_4_0            | percentile-25 |           0.00% |           0.00% |           0.00% |           0.00% |
| FT           | 1_4_0            | percentile-50 |           0.00% |           0.00% |           5.00% |          10.00% |
| FT           | 1_4_0            | percentile-75 |           0.00% |          15.00% |          30.00% |          40.00% |
| FT           | 1_4_0            | percentile-90 |          20.00% |          50.00% |          65.00% |         100.00% |
| FT           | 1_4_0            | average       |           5.08% |          12.58% |          20.00% |          25.49% |
| FT           | reduce_proximity | percentile-10 |           0.00% |           0.00% |           0.00% |           0.00% |
| FT           | reduce_proximity | percentile-25 |           0.00% |           0.00% |           0.00% |           0.00% |
| FT           | reduce_proximity | percentile-50 |           0.00% |           0.00% |           5.00% |          10.00% |
| FT           | reduce_proximity | percentile-75 |           0.00% |          15.00% |          30.00% |          40.00% |
| FT           | reduce_proximity | percentile-90 |          10.00% |          45.00% |          60.00% |         100.00% |
| FT           | reduce_proximity | average       |           5.01% |          12.64% |          20.10% |          25.53% |
| LAT          | 1_4_0            | percentile-10 |           0.00% |           0.00% |           0.00% |           0.00% |
| LAT          | 1_4_0            | percentile-25 |           0.00% |           0.00% |           0.00% |           0.00% |
| LAT          | 1_4_0            | percentile-50 |           0.00% |           0.00% |           5.00% |           5.00% |
| LAT          | 1_4_0            | percentile-75 |           5.00% |          15.00% |          30.00% |          30.00% |
| LAT          | 1_4_0            | percentile-90 |          15.00% |          45.00% |          60.00% |          80.00% |
| LAT          | 1_4_0            | average       |           4.80% |          11.80% |          17.88% |          21.62% |
| LAT          | reduce_proximity | percentile-10 |           0.00% |           0.00% |           0.00% |           0.00% |
| LAT          | reduce_proximity | percentile-25 |           0.00% |           0.00% |           0.00% |           0.00% |
| LAT          | reduce_proximity | percentile-50 |           0.00% |           0.00% |           5.00% |           5.00% |
| LAT          | reduce_proximity | percentile-75 |           0.00% |          11.11% |          25.00% |          35.00% |
| LAT          | reduce_proximity | percentile-90 |          15.00% |          45.00% |          55.00% |          80.00% |
| LAT          | reduce_proximity | average       |           4.43% |          11.23% |          17.32% |          21.45% |

</details>

### Impact on Search time

| dataset_name | host_name        |      25.00% |      50.00% |      75.00% |     100.00% | Average     |
|--------------|------------------|------------:|------------:|------------:|------------:|-------------|
| FBIS         | 1_4_0            |        3.45 | 7.446666667 | 9.773489933 | 9.620300752 | 7.572614338 |
| FBIS         | reduce_proximity | 2.983333333 | 5.316666667 | 6.911073826 | 7.637218045 | 5.712072968 |
| FR94         | 1_4_0            | 2.236666667 |        4.45 | 5.523489933 | 4.560150376 | 4.192576744 |
| FR94         | reduce_proximity |        2.09 | 3.991666667 | 4.981543624 | 4.266917293 | 3.832531896 |
| FT           | 1_4_0            | 5.956666667 | 9.656666667 | 13.86912752 | 10.83270677 |  10.0787919 |
| FT           | reduce_proximity |        4.51 | 5.981666667 | 7.701342282 | 6.766917293 |  6.23998156 |
| LAT          | 1_4_0            | 5.856666667 | 9.233333333 | 12.98322148 | 10.78759398 | 9.715203865 |
| LAT          | reduce_proximity |        6.91 | 6.706666667 | 8.463087248 | 8.265037594 | 7.586197877 |

## Technical approach

- Ensure the MAX_DISTANCE constant is used everywhere needed
- Reduce the MAX_DISTANCE from 8 to 4

## Related

TBD

Co-authored-by: ManyTheFish <many@meilisearch.com>
This commit is contained in:
meili-bors[bot] 2023-10-18 14:56:08 +00:00 committed by GitHub
commit 5e0485d8dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 496 additions and 516 deletions

View File

@ -817,7 +817,7 @@ async fn experimental_feature_score_details() {
}, },
"proximity": { "proximity": {
"order": 2, "order": 2,
"score": 0.875 "score": 0.75
}, },
"attribute": { "attribute": {
"order": 3, "order": 3,

View File

@ -2,7 +2,7 @@ use std::cmp;
use crate::{relative_from_absolute_position, Position}; use crate::{relative_from_absolute_position, Position};
pub const MAX_DISTANCE: u32 = 8; pub const MAX_DISTANCE: u32 = 4;
pub fn index_proximity(lhs: u32, rhs: u32) -> u32 { pub fn index_proximity(lhs: u32, rhs: u32) -> u32 {
if lhs <= rhs { if lhs <= rhs {

View File

@ -1,6 +1,7 @@
#![allow(clippy::too_many_arguments)] #![allow(clippy::too_many_arguments)]
use super::ProximityCondition; use super::ProximityCondition;
use crate::proximity::MAX_DISTANCE;
use crate::search::new::interner::{DedupInterner, Interned}; use crate::search::new::interner::{DedupInterner, Interned};
use crate::search::new::query_term::LocatedQueryTermSubset; use crate::search::new::query_term::LocatedQueryTermSubset;
use crate::search::new::SearchContext; use crate::search::new::SearchContext;
@ -35,7 +36,7 @@ pub fn build_edges(
} }
let mut conditions = vec![]; let mut conditions = vec![];
for cost in right_ngram_max..(7 + right_ngram_max) { for cost in right_ngram_max..(((MAX_DISTANCE as usize) - 1) + right_ngram_max) {
conditions.push(( conditions.push((
cost as u32, cost as u32,
conditions_interner.insert(ProximityCondition::Uninit { conditions_interner.insert(ProximityCondition::Uninit {
@ -47,7 +48,7 @@ pub fn build_edges(
} }
conditions.push(( conditions.push((
(7 + right_ngram_max) as u32, ((MAX_DISTANCE - 1) + (right_ngram_max as u32)),
conditions_interner.insert(ProximityCondition::Term { term: right_term.clone() }), conditions_interner.insert(ProximityCondition::Term { term: right_term.clone() }),
)); ));

View File

@ -273,7 +273,7 @@ fn test_proximity_simple() {
s.terms_matching_strategy(TermsMatchingStrategy::All); s.terms_matching_strategy(TermsMatchingStrategy::All);
s.query("the quick brown fox jumps over the lazy dog"); s.query("the quick brown fox jumps over the lazy dog");
let SearchResult { documents_ids, .. } = s.execute().unwrap(); let SearchResult { documents_ids, .. } = s.execute().unwrap();
insta::assert_snapshot!(format!("{documents_ids:?}"), @"[9, 10, 4, 7, 6, 5, 2, 3, 0, 1]"); insta::assert_snapshot!(format!("{documents_ids:?}"), @"[9, 10, 4, 7, 6, 2, 3, 5, 1, 0]");
let texts = collect_field_values(&index, &txn, "text", &documents_ids); let texts = collect_field_values(&index, &txn, "text", &documents_ids);
insta::assert_debug_snapshot!(texts, @r###" insta::assert_debug_snapshot!(texts, @r###"
[ [
@ -282,11 +282,11 @@ fn test_proximity_simple() {
"\"the quickbrown fox jumps over the lazy dog\"", "\"the quickbrown fox jumps over the lazy dog\"",
"\"the really quick brown fox jumps over the lazy dog\"", "\"the really quick brown fox jumps over the lazy dog\"",
"\"the really quick brown fox jumps over the very lazy dog\"", "\"the really quick brown fox jumps over the very lazy dog\"",
"\"brown quick fox jumps over the lazy dog\"",
"\"the quick brown fox jumps over the lazy. dog\"", "\"the quick brown fox jumps over the lazy. dog\"",
"\"dog the quick brown fox jumps over the lazy\"", "\"dog the quick brown fox jumps over the lazy\"",
"\"the very quick dark brown and smart fox did jump over the terribly lazy and small dog\"", "\"brown quick fox jumps over the lazy dog\"",
"\"the. quick brown fox jumps over the lazy. dog\"", "\"the. quick brown fox jumps over the lazy. dog\"",
"\"the very quick dark brown and smart fox did jump over the terribly lazy and small dog\"",
] ]
"###); "###);
} }
@ -371,7 +371,7 @@ fn test_proximity_prefix_db() {
s.scoring_strategy(crate::score_details::ScoringStrategy::Detailed); s.scoring_strategy(crate::score_details::ScoringStrategy::Detailed);
s.query("best s"); s.query("best s");
let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap(); let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap();
insta::assert_snapshot!(format!("{documents_ids:?}"), @"[10, 13, 9, 12, 8, 6, 7, 11, 15]"); insta::assert_snapshot!(format!("{documents_ids:?}"), @"[10, 13, 9, 12, 6, 7, 8, 11, 15]");
insta::assert_snapshot!(format!("{document_scores:#?}")); insta::assert_snapshot!(format!("{document_scores:#?}"));
let texts = collect_field_values(&index, &txn, "text", &documents_ids); let texts = collect_field_values(&index, &txn, "text", &documents_ids);
@ -382,9 +382,9 @@ fn test_proximity_prefix_db() {
"\"summer best\"", "\"summer best\"",
"\"this is the best meal of summer\"", "\"this is the best meal of summer\"",
"\"summer x best\"", "\"summer x best\"",
"\"this is the best meal of the summer\"",
"\"this is the best meal I have ever had in such a beautiful summer day\"", "\"this is the best meal I have ever had in such a beautiful summer day\"",
"\"this is the best cooked meal of the summer\"", "\"this is the best cooked meal of the summer\"",
"\"this is the best meal of the summer\"",
"\"summer x y best\"", "\"summer x y best\"",
"\"this is the best meal I have ever had in such a beautiful winter day\"", "\"this is the best meal I have ever had in such a beautiful winter day\"",
] ]
@ -396,7 +396,7 @@ fn test_proximity_prefix_db() {
s.scoring_strategy(crate::score_details::ScoringStrategy::Detailed); s.scoring_strategy(crate::score_details::ScoringStrategy::Detailed);
s.query("best su"); s.query("best su");
let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap(); let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap();
insta::assert_snapshot!(format!("{documents_ids:?}"), @"[10, 13, 9, 12, 8, 11, 7, 6, 15]"); insta::assert_snapshot!(format!("{documents_ids:?}"), @"[10, 13, 9, 12, 6, 7, 8, 11, 15]");
insta::assert_snapshot!(format!("{document_scores:#?}")); insta::assert_snapshot!(format!("{document_scores:#?}"));
let texts = collect_field_values(&index, &txn, "text", &documents_ids); let texts = collect_field_values(&index, &txn, "text", &documents_ids);
@ -406,10 +406,10 @@ fn test_proximity_prefix_db() {
"\"summer best\"", "\"summer best\"",
"\"this is the best meal of summer\"", "\"this is the best meal of summer\"",
"\"summer x best\"", "\"summer x best\"",
"\"this is the best meal I have ever had in such a beautiful summer day\"",
"\"this is the best cooked meal of the summer\"",
"\"this is the best meal of the summer\"", "\"this is the best meal of the summer\"",
"\"summer x y best\"", "\"summer x y best\"",
"\"this is the best cooked meal of the summer\"",
"\"this is the best meal I have ever had in such a beautiful summer day\"",
"\"this is the best meal I have ever had in such a beautiful winter day\"", "\"this is the best meal I have ever had in such a beautiful winter day\"",
] ]
"###); "###);
@ -447,7 +447,7 @@ fn test_proximity_prefix_db() {
s.scoring_strategy(crate::score_details::ScoringStrategy::Detailed); s.scoring_strategy(crate::score_details::ScoringStrategy::Detailed);
s.query("best wint"); s.query("best wint");
let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap(); let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap();
insta::assert_snapshot!(format!("{documents_ids:?}"), @"[19, 22, 18, 21, 17, 20, 16, 15]"); insta::assert_snapshot!(format!("{documents_ids:?}"), @"[19, 22, 18, 21, 15, 16, 17, 20]");
insta::assert_snapshot!(format!("{document_scores:#?}")); insta::assert_snapshot!(format!("{document_scores:#?}"));
let texts = collect_field_values(&index, &txn, "text", &documents_ids); let texts = collect_field_values(&index, &txn, "text", &documents_ids);
@ -457,10 +457,10 @@ fn test_proximity_prefix_db() {
"\"winter best\"", "\"winter best\"",
"\"this is the best meal of winter\"", "\"this is the best meal of winter\"",
"\"winter x best\"", "\"winter x best\"",
"\"this is the best meal I have ever had in such a beautiful winter day\"",
"\"this is the best cooked meal of the winter\"",
"\"this is the best meal of the winter\"", "\"this is the best meal of the winter\"",
"\"winter x y best\"", "\"winter x y best\"",
"\"this is the best cooked meal of the winter\"",
"\"this is the best meal I have ever had in such a beautiful winter day\"",
] ]
"###); "###);
@ -471,7 +471,7 @@ fn test_proximity_prefix_db() {
s.scoring_strategy(crate::score_details::ScoringStrategy::Detailed); s.scoring_strategy(crate::score_details::ScoringStrategy::Detailed);
s.query("best wi"); s.query("best wi");
let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap(); let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap();
insta::assert_snapshot!(format!("{documents_ids:?}"), @"[19, 22, 18, 21, 17, 15, 16, 20]"); insta::assert_snapshot!(format!("{documents_ids:?}"), @"[19, 22, 18, 21, 15, 16, 17, 20]");
insta::assert_snapshot!(format!("{document_scores:#?}")); insta::assert_snapshot!(format!("{document_scores:#?}"));
let texts = collect_field_values(&index, &txn, "text", &documents_ids); let texts = collect_field_values(&index, &txn, "text", &documents_ids);
@ -481,9 +481,9 @@ fn test_proximity_prefix_db() {
"\"winter best\"", "\"winter best\"",
"\"this is the best meal of winter\"", "\"this is the best meal of winter\"",
"\"winter x best\"", "\"winter x best\"",
"\"this is the best meal of the winter\"",
"\"this is the best meal I have ever had in such a beautiful winter day\"", "\"this is the best meal I have ever had in such a beautiful winter day\"",
"\"this is the best cooked meal of the winter\"", "\"this is the best cooked meal of the winter\"",
"\"this is the best meal of the winter\"",
"\"winter x y best\"", "\"winter x y best\"",
] ]
"###); "###);

View File

@ -68,8 +68,8 @@ fn test_trap_basic() {
[ [
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
Typo( Typo(
@ -82,8 +82,8 @@ fn test_trap_basic() {
[ [
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
Typo( Typo(

View File

@ -23,8 +23,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 35, rank: 9,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -49,8 +49,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 35, rank: 9,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -75,8 +75,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 35, rank: 9,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],

View File

@ -23,8 +23,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 57, rank: 25,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -49,8 +49,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 56, rank: 24,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -75,8 +75,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 35, rank: 9,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -101,8 +101,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 22, rank: 10,
max_rank: 22, max_rank: 10,
}, },
), ),
], ],
@ -127,8 +127,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 22, rank: 10,
max_rank: 22, max_rank: 10,
}, },
), ),
], ],
@ -153,8 +153,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 22, rank: 10,
max_rank: 22, max_rank: 10,
}, },
), ),
], ],
@ -179,8 +179,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 21, rank: 9,
max_rank: 22, max_rank: 10,
}, },
), ),
], ],
@ -205,8 +205,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 17, rank: 5,
max_rank: 22, max_rank: 10,
}, },
), ),
], ],
@ -231,8 +231,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 17, rank: 5,
max_rank: 22, max_rank: 10,
}, },
), ),
], ],

View File

@ -3,59 +3,35 @@ source: milli/src/search/new/tests/proximity.rs
expression: "format!(\"{document_scores:#?}\")" expression: "format!(\"{document_scores:#?}\")"
--- ---
[ [
[
Proximity(
Rank {
rank: 8,
max_rank: 8,
},
),
],
[
Proximity(
Rank {
rank: 7,
max_rank: 8,
},
),
],
[
Proximity(
Rank {
rank: 6,
max_rank: 8,
},
),
],
[
Proximity(
Rank {
rank: 6,
max_rank: 8,
},
),
],
[
Proximity(
Rank {
rank: 5,
max_rank: 8,
},
),
],
[
Proximity(
Rank {
rank: 5,
max_rank: 8,
},
),
],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 4, rank: 4,
max_rank: 8, max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 3,
max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 2,
max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 2,
max_rank: 4,
}, },
), ),
], ],
@ -63,7 +39,31 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 1,
max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 1,
max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 1,
max_rank: 4,
}, },
), ),
], ],

View File

@ -6,40 +6,32 @@ expression: "format!(\"{document_scores:#?}\")"
[ [
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 7, rank: 3,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 6, rank: 2,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 6, rank: 2,
max_rank: 8, max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 5,
max_rank: 8,
}, },
), ),
], ],
@ -47,7 +39,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -55,7 +47,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -63,7 +55,15 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 1,
max_rank: 4,
}, },
), ),
], ],

View File

@ -6,40 +6,32 @@ expression: "format!(\"{document_scores:#?}\")"
[ [
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 7, rank: 3,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 6, rank: 2,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 6, rank: 2,
max_rank: 8, max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 5,
max_rank: 8,
}, },
), ),
], ],
@ -47,7 +39,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -55,7 +47,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -63,7 +55,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -71,7 +63,15 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 1,
max_rank: 4,
}, },
), ),
], ],

View File

@ -3,59 +3,35 @@ source: milli/src/search/new/tests/proximity.rs
expression: "format!(\"{document_scores:#?}\")" expression: "format!(\"{document_scores:#?}\")"
--- ---
[ [
[
Proximity(
Rank {
rank: 8,
max_rank: 8,
},
),
],
[
Proximity(
Rank {
rank: 7,
max_rank: 8,
},
),
],
[
Proximity(
Rank {
rank: 6,
max_rank: 8,
},
),
],
[
Proximity(
Rank {
rank: 6,
max_rank: 8,
},
),
],
[
Proximity(
Rank {
rank: 5,
max_rank: 8,
},
),
],
[
Proximity(
Rank {
rank: 5,
max_rank: 8,
},
),
],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 4, rank: 4,
max_rank: 8, max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 3,
max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 2,
max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 2,
max_rank: 4,
}, },
), ),
], ],
@ -63,7 +39,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -71,7 +47,31 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 1,
max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 1,
max_rank: 4,
},
),
],
[
Proximity(
Rank {
rank: 1,
max_rank: 4,
}, },
), ),
], ],

View File

@ -7,7 +7,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -15,7 +15,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -23,7 +23,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -31,7 +31,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -39,7 +39,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -47,7 +47,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -55,7 +55,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -63,7 +63,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],

View File

@ -6,24 +6,24 @@ expression: "format!(\"{document_scores:#?}\")"
[ [
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -31,7 +31,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -39,7 +39,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],

View File

@ -6,16 +6,16 @@ expression: "format!(\"{document_scores:#?}\")"
[ [
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -23,7 +23,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],

View File

@ -6,16 +6,16 @@ expression: "format!(\"{document_scores:#?}\")"
[ [
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -23,7 +23,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],

View File

@ -12,8 +12,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -26,8 +26,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 5, rank: 1,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -40,8 +40,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],
@ -54,8 +54,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 7, rank: 3,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],

View File

@ -12,8 +12,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 15, rank: 7,
max_rank: 15, max_rank: 7,
}, },
), ),
], ],
@ -26,8 +26,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 15, max_rank: 7,
}, },
), ),
], ],

View File

@ -12,8 +12,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 50, rank: 22,
max_rank: 50, max_rank: 22,
}, },
), ),
], ],
@ -24,132 +24,6 @@ expression: "format!(\"{document_scores:#?}\")"
max_matching_words: 9, max_matching_words: 9,
}, },
), ),
Proximity(
Rank {
rank: 50,
max_rank: 50,
},
),
],
[
Words(
Words {
matching_words: 9,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 49,
max_rank: 50,
},
),
],
[
Words(
Words {
matching_words: 9,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 49,
max_rank: 50,
},
),
],
[
Words(
Words {
matching_words: 9,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 48,
max_rank: 50,
},
),
],
[
Words(
Words {
matching_words: 9,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 41,
max_rank: 50,
},
),
],
[
Words(
Words {
matching_words: 9,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 40,
max_rank: 50,
},
),
],
[
Words(
Words {
matching_words: 8,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 43,
max_rank: 43,
},
),
],
[
Words(
Words {
matching_words: 7,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 36,
max_rank: 36,
},
),
],
[
Words(
Words {
matching_words: 7,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 31,
max_rank: 36,
},
),
],
[
Words(
Words {
matching_words: 5,
max_matching_words: 9,
},
),
Proximity( Proximity(
Rank { Rank {
rank: 22, rank: 22,
@ -160,14 +34,126 @@ expression: "format!(\"{document_scores:#?}\")"
[ [
Words( Words(
Words { Words {
matching_words: 4, matching_words: 9,
max_matching_words: 9, max_matching_words: 9,
}, },
), ),
Proximity( Proximity(
Rank { Rank {
rank: 15, rank: 21,
max_rank: 15, max_rank: 22,
},
),
],
[
Words(
Words {
matching_words: 9,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 21,
max_rank: 22,
},
),
],
[
Words(
Words {
matching_words: 9,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 20,
max_rank: 22,
},
),
],
[
Words(
Words {
matching_words: 9,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 17,
max_rank: 22,
},
),
],
[
Words(
Words {
matching_words: 9,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 16,
max_rank: 22,
},
),
],
[
Words(
Words {
matching_words: 8,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 19,
max_rank: 19,
},
),
],
[
Words(
Words {
matching_words: 7,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 16,
max_rank: 16,
},
),
],
[
Words(
Words {
matching_words: 7,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 13,
max_rank: 16,
},
),
],
[
Words(
Words {
matching_words: 5,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 10,
max_rank: 10,
}, },
), ),
], ],
@ -180,8 +166,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 15, rank: 7,
max_rank: 15, max_rank: 7,
}, },
), ),
], ],
@ -194,8 +180,22 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 15, rank: 7,
max_rank: 15, max_rank: 7,
},
),
],
[
Words(
Words {
matching_words: 4,
max_matching_words: 9,
},
),
Proximity(
Rank {
rank: 7,
max_rank: 7,
}, },
), ),
], ],
@ -208,8 +208,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 8, rank: 4,
max_rank: 8, max_rank: 4,
}, },
), ),
], ],

View File

@ -12,8 +12,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 43, rank: 19,
max_rank: 43, max_rank: 19,
}, },
), ),
], ],
@ -26,8 +26,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 43, rank: 19,
max_rank: 43, max_rank: 19,
}, },
), ),
], ],
@ -40,8 +40,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 42, rank: 18,
max_rank: 43, max_rank: 19,
}, },
), ),
], ],
@ -54,8 +54,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 42, rank: 18,
max_rank: 43, max_rank: 19,
}, },
), ),
], ],
@ -68,8 +68,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 41, rank: 17,
max_rank: 43, max_rank: 19,
}, },
), ),
], ],
@ -82,8 +82,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 34, rank: 14,
max_rank: 43, max_rank: 19,
}, },
), ),
], ],
@ -96,8 +96,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 33, rank: 13,
max_rank: 43, max_rank: 19,
}, },
), ),
], ],
@ -110,8 +110,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 36, rank: 16,
max_rank: 36, max_rank: 16,
}, },
), ),
], ],
@ -124,8 +124,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 29, rank: 13,
max_rank: 29, max_rank: 13,
}, },
), ),
], ],
@ -138,8 +138,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 24, rank: 10,
max_rank: 29, max_rank: 13,
}, },
), ),
], ],
@ -152,8 +152,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 15, rank: 7,
max_rank: 15, max_rank: 7,
}, },
), ),
], ],

View File

@ -12,8 +12,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 57, rank: 25,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -26,8 +26,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 57, rank: 25,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -40,8 +40,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 56, rank: 24,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -54,8 +54,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 56, rank: 24,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -68,8 +68,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 55, rank: 23,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -82,8 +82,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 54, rank: 22,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -96,8 +96,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 53, rank: 21,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -110,8 +110,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 52, rank: 20,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -124,8 +124,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 51, rank: 20,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -138,8 +138,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 48, rank: 19,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -152,8 +152,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 47, rank: 19,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -167,7 +167,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -180,8 +180,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 50, rank: 22,
max_rank: 50, max_rank: 22,
}, },
), ),
], ],
@ -194,8 +194,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 43, rank: 19,
max_rank: 43, max_rank: 19,
}, },
), ),
], ],
@ -208,8 +208,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 38, rank: 16,
max_rank: 43, max_rank: 19,
}, },
), ),
], ],
@ -222,8 +222,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 29, rank: 13,
max_rank: 29, max_rank: 13,
}, },
), ),
], ],
@ -236,8 +236,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 22, rank: 10,
max_rank: 22, max_rank: 10,
}, },
), ),
], ],
@ -250,8 +250,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 22, rank: 10,
max_rank: 22, max_rank: 10,
}, },
), ),
], ],
@ -264,8 +264,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 22, rank: 10,
max_rank: 22, max_rank: 10,
}, },
), ),
], ],
@ -278,8 +278,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 15, rank: 7,
max_rank: 15, max_rank: 7,
}, },
), ),
], ],

View File

@ -12,8 +12,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 57, rank: 25,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -26,8 +26,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 56, rank: 24,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -40,8 +40,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 55, rank: 23,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -54,8 +54,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 54, rank: 22,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -68,8 +68,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 54, rank: 22,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -82,8 +82,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 54, rank: 22,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -96,8 +96,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 53, rank: 21,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -110,8 +110,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 53, rank: 21,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -124,8 +124,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 52, rank: 20,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -138,8 +138,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 47, rank: 18,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -152,8 +152,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 45, rank: 18,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -167,7 +167,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -180,8 +180,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 47, rank: 19,
max_rank: 50, max_rank: 22,
}, },
), ),
], ],
@ -194,8 +194,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 40, rank: 16,
max_rank: 43, max_rank: 19,
}, },
), ),
], ],
@ -208,8 +208,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 35, rank: 13,
max_rank: 43, max_rank: 19,
}, },
), ),
], ],
@ -222,8 +222,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 26, rank: 10,
max_rank: 29, max_rank: 13,
}, },
), ),
], ],
@ -236,8 +236,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 19, rank: 7,
max_rank: 22, max_rank: 10,
}, },
), ),
], ],
@ -250,8 +250,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 19, rank: 7,
max_rank: 22, max_rank: 10,
}, },
), ),
], ],
@ -264,8 +264,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 19, rank: 7,
max_rank: 22, max_rank: 10,
}, },
), ),
], ],
@ -278,8 +278,8 @@ expression: "format!(\"{document_scores:#?}\")"
), ),
Proximity( Proximity(
Rank { Rank {
rank: 13, rank: 5,
max_rank: 15, max_rank: 7,
}, },
), ),
], ],

View File

@ -6,88 +6,88 @@ expression: "format!(\"{document_scores:#?}\")"
[ [
Proximity( Proximity(
Rank { Rank {
rank: 57, rank: 25,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 57, rank: 25,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 56, rank: 24,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 56, rank: 24,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 55, rank: 23,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 54, rank: 22,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 53, rank: 21,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 52, rank: 20,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 51, rank: 20,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 48, rank: 19,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
[ [
Proximity( Proximity(
Rank { Rank {
rank: 47, rank: 19,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],
@ -95,7 +95,7 @@ expression: "format!(\"{document_scores:#?}\")"
Proximity( Proximity(
Rank { Rank {
rank: 1, rank: 1,
max_rank: 57, max_rank: 25,
}, },
), ),
], ],

View File

@ -259,8 +259,8 @@ fn test_ignore_stop_words() {
), ),
Proximity( Proximity(
Rank { Rank {
rank: 7, rank: 3,
max_rank: 8, max_rank: 4,
}, },
), ),
Fid( Fid(
@ -411,8 +411,8 @@ fn test_stop_words_in_phrase() {
), ),
Proximity( Proximity(
Rank { Rank {
rank: 6, rank: 2,
max_rank: 8, max_rank: 4,
}, },
), ),
Fid( Fid(

View File

@ -277,7 +277,7 @@ fn test_words_proximity_tms_last_simple() {
let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap(); let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap();
// 7 is better than 6 because of the proximity between "the" and its surrounding terms // 7 is better than 6 because of the proximity between "the" and its surrounding terms
insta::assert_snapshot!(format!("{documents_ids:?}"), @"[9, 21, 14, 17, 13, 10, 18, 19, 20, 16, 15, 22, 8, 7, 6, 5, 4, 11, 12, 3]"); insta::assert_snapshot!(format!("{documents_ids:?}"), @"[9, 21, 14, 17, 13, 10, 18, 16, 19, 15, 20, 22, 8, 7, 6, 5, 4, 11, 12, 3]");
insta::assert_snapshot!(format!("{document_scores:#?}")); insta::assert_snapshot!(format!("{document_scores:#?}"));
let texts = collect_field_values(&index, &txn, "text", &documents_ids); let texts = collect_field_values(&index, &txn, "text", &documents_ids);
insta::assert_debug_snapshot!(texts, @r###" insta::assert_debug_snapshot!(texts, @r###"
@ -289,10 +289,10 @@ fn test_words_proximity_tms_last_simple() {
"\"the mighty and quick brown fox jumps over the lazy dog\"", "\"the mighty and quick brown fox jumps over the lazy dog\"",
"\"the brown quick fox jumps over the lazy dog\"", "\"the brown quick fox jumps over the lazy dog\"",
"\"the brown quick fox jumps over the really lazy dog\"", "\"the brown quick fox jumps over the really lazy dog\"",
"\"the brown quick fox immediately jumps over the really lazy dog\"",
"\"the brown quick fox immediately jumps over the really lazy blue dog\"",
"\"this quick brown and scary fox jumps over the lazy dog\"", "\"this quick brown and scary fox jumps over the lazy dog\"",
"\"the brown quick fox immediately jumps over the really lazy dog\"",
"\"this quick brown and very scary fox jumps over the lazy dog\"", "\"this quick brown and very scary fox jumps over the lazy dog\"",
"\"the brown quick fox immediately jumps over the really lazy blue dog\"",
"\"the, quick, brown, fox, jumps, over, the, lazy, dog\"", "\"the, quick, brown, fox, jumps, over, the, lazy, dog\"",
"\"the quick brown fox jumps over the lazy\"", "\"the quick brown fox jumps over the lazy\"",
"\"the quick brown fox jumps over the\"", "\"the quick brown fox jumps over the\"",
@ -312,7 +312,7 @@ fn test_words_proximity_tms_last_simple() {
let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap(); let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap();
// 10 is better than 9 because of the proximity between "quick" and "brown" // 10 is better than 9 because of the proximity between "quick" and "brown"
insta::assert_snapshot!(format!("{documents_ids:?}"), @"[10, 18, 19, 9, 20, 21, 14, 17, 13, 16, 15, 22, 8, 7, 6, 5, 4, 11, 12, 3]"); insta::assert_snapshot!(format!("{documents_ids:?}"), @"[10, 18, 19, 9, 20, 21, 14, 17, 13, 15, 16, 22, 8, 7, 6, 5, 4, 11, 12, 3]");
insta::assert_snapshot!(format!("{document_scores:#?}")); insta::assert_snapshot!(format!("{document_scores:#?}"));
let texts = collect_field_values(&index, &txn, "text", &documents_ids); let texts = collect_field_values(&index, &txn, "text", &documents_ids);
insta::assert_debug_snapshot!(texts, @r###" insta::assert_debug_snapshot!(texts, @r###"
@ -326,8 +326,8 @@ fn test_words_proximity_tms_last_simple() {
"\"the great quick brown fox jumps over the lazy dog\"", "\"the great quick brown fox jumps over the lazy dog\"",
"\"the quick brown fox jumps over the really lazy dog\"", "\"the quick brown fox jumps over the really lazy dog\"",
"\"the mighty and quick brown fox jumps over the lazy dog\"", "\"the mighty and quick brown fox jumps over the lazy dog\"",
"\"this quick brown and scary fox jumps over the lazy dog\"",
"\"this quick brown and very scary fox jumps over the lazy dog\"", "\"this quick brown and very scary fox jumps over the lazy dog\"",
"\"this quick brown and scary fox jumps over the lazy dog\"",
"\"the, quick, brown, fox, jumps, over, the, lazy, dog\"", "\"the, quick, brown, fox, jumps, over, the, lazy, dog\"",
"\"the quick brown fox jumps over the lazy\"", "\"the quick brown fox jumps over the lazy\"",
"\"the quick brown fox jumps over the\"", "\"the quick brown fox jumps over the\"",
@ -427,7 +427,7 @@ fn test_words_tms_all() {
s.scoring_strategy(crate::score_details::ScoringStrategy::Detailed); s.scoring_strategy(crate::score_details::ScoringStrategy::Detailed);
let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap(); let SearchResult { documents_ids, document_scores, .. } = s.execute().unwrap();
insta::assert_snapshot!(format!("{documents_ids:?}"), @"[9, 21, 14, 17, 13, 10, 18, 19, 20, 16, 15, 22]"); insta::assert_snapshot!(format!("{documents_ids:?}"), @"[9, 21, 14, 17, 13, 10, 18, 16, 19, 15, 20, 22]");
insta::assert_snapshot!(format!("{document_scores:#?}")); insta::assert_snapshot!(format!("{document_scores:#?}"));
let texts = collect_field_values(&index, &txn, "text", &documents_ids); let texts = collect_field_values(&index, &txn, "text", &documents_ids);
insta::assert_debug_snapshot!(texts, @r###" insta::assert_debug_snapshot!(texts, @r###"
@ -439,10 +439,10 @@ fn test_words_tms_all() {
"\"the mighty and quick brown fox jumps over the lazy dog\"", "\"the mighty and quick brown fox jumps over the lazy dog\"",
"\"the brown quick fox jumps over the lazy dog\"", "\"the brown quick fox jumps over the lazy dog\"",
"\"the brown quick fox jumps over the really lazy dog\"", "\"the brown quick fox jumps over the really lazy dog\"",
"\"the brown quick fox immediately jumps over the really lazy dog\"",
"\"the brown quick fox immediately jumps over the really lazy blue dog\"",
"\"this quick brown and scary fox jumps over the lazy dog\"", "\"this quick brown and scary fox jumps over the lazy dog\"",
"\"the brown quick fox immediately jumps over the really lazy dog\"",
"\"this quick brown and very scary fox jumps over the lazy dog\"", "\"this quick brown and very scary fox jumps over the lazy dog\"",
"\"the brown quick fox immediately jumps over the really lazy blue dog\"",
"\"the, quick, brown, fox, jumps, over, the, lazy, dog\"", "\"the, quick, brown, fox, jumps, over, the, lazy, dog\"",
] ]
"###); "###);

View File

@ -20,7 +20,4 @@ source: milli/src/update/prefix_word_pairs/mod.rs
3 at a [100, ] 3 at a [100, ]
3 rings a [101, ] 3 rings a [101, ]
3 the a [101, ] 3 the a [101, ]
4 at b [100, ]
4 at be [100, ]
4 bell a [101, ]

View File

@ -30,10 +30,4 @@ source: milli/src/update/prefix_word_pairs/mod.rs
3 bell 5 [101, ] 3 bell 5 [101, ]
3 rings am [101, ] 3 rings am [101, ]
3 the at [101, ] 3 the at [101, ]
4 an house [100, ]
4 at beautiful [100, ]
4 bell am [101, ]
4 the 5 [101, ]
5 at house [100, ]
5 the am [101, ]

View File

@ -28,8 +28,4 @@ source: milli/src/update/prefix_word_pairs/mod.rs
3 rings a [101, ] 3 rings a [101, ]
3 rings am [101, ] 3 rings am [101, ]
3 the a [101, ] 3 the a [101, ]
4 at b [100, ]
4 at be [100, ]
4 bell a [101, ]
4 bell am [101, ]

View File

@ -7,5 +7,4 @@ source: milli/src/update/prefix_word_pairs/mod.rs
2 bell a [51, ] 2 bell a [51, ]
3 rings a [51, ] 3 rings a [51, ]
3 the a [51, ] 3 the a [51, ]
4 bell a [51, ]

View File

@ -12,5 +12,4 @@ source: milli/src/update/prefix_word_pairs/mod.rs
3 at a [50, ] 3 at a [50, ]
3 rings a [51, ] 3 rings a [51, ]
3 the a [51, ] 3 the a [51, ]
4 bell a [51, ]

View File

@ -7,5 +7,4 @@ source: milli/src/update/prefix_word_pairs/mod.rs
2 bell a [51, ] 2 bell a [51, ]
3 rings a [51, ] 3 rings a [51, ]
3 the a [51, ] 3 the a [51, ]
4 bell a [51, ]

View File

@ -12,5 +12,4 @@ source: milli/src/update/prefix_word_pairs/mod.rs
3 at a [50, ] 3 at a [50, ]
3 rings a [51, ] 3 rings a [51, ]
3 the a [51, ] 3 the a [51, ]
4 bell a [51, ]

View File

@ -12,5 +12,4 @@ source: milli/src/update/prefix_word_pairs/mod.rs
3 at a [50, ] 3 at a [50, ]
3 rings a [51, ] 3 rings a [51, ]
3 the a [51, ] 3 the a [51, ]
4 bell a [51, ]

View File

@ -16,6 +16,4 @@ source: milli/src/update/prefix_word_pairs/mod.rs
3 at a [50, ] 3 at a [50, ]
3 rings a [51, ] 3 rings a [51, ]
3 the a [51, ] 3 the a [51, ]
4 at b [50, ]
4 bell a [51, ]

View File

@ -12,5 +12,4 @@ source: milli/src/update/prefix_word_pairs/mod.rs
3 at a [50, ] 3 at a [50, ]
3 rings a [51, ] 3 rings a [51, ]
3 the a [51, ] 3 the a [51, ]
4 bell a [51, ]