mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-03-06 22:02:34 +08:00
Fix behavior change in the Attributes criterion
This commit is contained in:
parent
5ceddbda84
commit
ed1dcbe0f7
@ -559,6 +559,17 @@ impl Index {
|
||||
self.main.remap_key_type::<Str>().delete(wtxn, main_key::FIELDIDS_WEIGHTS_MAP_KEY)
|
||||
}
|
||||
|
||||
pub fn max_searchable_attribute_weight(&self, rtxn: &RoTxn<'_>) -> Result<Option<Weight>> {
|
||||
let user_defined_searchable_fields = self.user_defined_searchable_fields(rtxn)?;
|
||||
if let Some(user_defined_searchable_fields) = user_defined_searchable_fields {
|
||||
if !user_defined_searchable_fields.contains(&"*") {
|
||||
return Ok(Some(user_defined_searchable_fields.len().saturating_sub(1) as Weight));
|
||||
}
|
||||
}
|
||||
|
||||
Ok(None)
|
||||
}
|
||||
|
||||
pub fn searchable_fields_and_weights<'a>(
|
||||
&self,
|
||||
rtxn: &'a RoTxn<'a>,
|
||||
|
@ -92,7 +92,10 @@ impl RankingRuleGraphTrait for FidGraph {
|
||||
}
|
||||
|
||||
// always lookup the max_fid if we don't already and add an artificial condition for max scoring
|
||||
let max_weight = weights_map.max_weight();
|
||||
let max_weight = ctx
|
||||
.index
|
||||
.max_searchable_attribute_weight(ctx.txn)?
|
||||
.or_else(|| weights_map.max_weight());
|
||||
|
||||
if let Some(max_weight) = max_weight {
|
||||
if current_max_weight < max_weight {
|
||||
|
@ -8,8 +8,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -25,8 +25,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -42,8 +42,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -59,8 +59,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -76,8 +76,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -93,8 +93,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -110,8 +110,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -127,8 +127,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -144,8 +144,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -161,8 +161,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -178,8 +178,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -195,8 +195,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -212,8 +212,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -229,8 +229,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
|
@ -8,8 +8,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -25,8 +25,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -42,8 +42,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -59,8 +59,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -76,8 +76,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -93,8 +93,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -110,8 +110,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -127,8 +127,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -144,8 +144,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -161,8 +161,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -178,8 +178,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -195,8 +195,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -212,8 +212,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -229,8 +229,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
|
@ -8,8 +8,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 6,
|
||||
max_rank: 6,
|
||||
rank: 11,
|
||||
max_rank: 11,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -25,8 +25,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 6,
|
||||
max_rank: 6,
|
||||
rank: 11,
|
||||
max_rank: 11,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -42,8 +42,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 6,
|
||||
max_rank: 6,
|
||||
rank: 11,
|
||||
max_rank: 11,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -59,8 +59,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 6,
|
||||
max_rank: 6,
|
||||
rank: 11,
|
||||
max_rank: 11,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -76,8 +76,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 6,
|
||||
max_rank: 6,
|
||||
rank: 11,
|
||||
max_rank: 11,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
|
@ -8,8 +8,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -25,8 +25,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -42,8 +42,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -59,8 +59,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -76,8 +76,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -93,8 +93,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -110,8 +110,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -127,8 +127,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -144,8 +144,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -161,8 +161,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -178,8 +178,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -195,8 +195,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -212,8 +212,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
@ -229,8 +229,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
||||
[
|
||||
Fid(
|
||||
Rank {
|
||||
rank: 3,
|
||||
max_rank: 3,
|
||||
rank: 5,
|
||||
max_rank: 5,
|
||||
},
|
||||
),
|
||||
Position(
|
||||
|
Loading…
x
Reference in New Issue
Block a user