mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-10-25 13:06:27 +00:00
Fix behavior change in the Attributes criterion
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user