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)
|
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>(
|
pub fn searchable_fields_and_weights<'a>(
|
||||||
&self,
|
&self,
|
||||||
rtxn: &'a RoTxn<'a>,
|
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
|
// 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 let Some(max_weight) = max_weight {
|
||||||
if current_max_weight < max_weight {
|
if current_max_weight < max_weight {
|
||||||
|
@ -8,8 +8,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -25,8 +25,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -42,8 +42,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -59,8 +59,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -76,8 +76,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -93,8 +93,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -110,8 +110,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -127,8 +127,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -144,8 +144,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -161,8 +161,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -178,8 +178,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -195,8 +195,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -212,8 +212,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -229,8 +229,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
|
@ -8,8 +8,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -25,8 +25,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -42,8 +42,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -59,8 +59,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -76,8 +76,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -93,8 +93,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -110,8 +110,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -127,8 +127,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -144,8 +144,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -161,8 +161,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -178,8 +178,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -195,8 +195,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -212,8 +212,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -229,8 +229,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
|
@ -8,8 +8,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 6,
|
rank: 11,
|
||||||
max_rank: 6,
|
max_rank: 11,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -25,8 +25,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 6,
|
rank: 11,
|
||||||
max_rank: 6,
|
max_rank: 11,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -42,8 +42,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 6,
|
rank: 11,
|
||||||
max_rank: 6,
|
max_rank: 11,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -59,8 +59,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 6,
|
rank: 11,
|
||||||
max_rank: 6,
|
max_rank: 11,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -76,8 +76,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 6,
|
rank: 11,
|
||||||
max_rank: 6,
|
max_rank: 11,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
|
@ -8,8 +8,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -25,8 +25,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -42,8 +42,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -59,8 +59,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -76,8 +76,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -93,8 +93,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -110,8 +110,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -127,8 +127,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -144,8 +144,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -161,8 +161,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -178,8 +178,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -195,8 +195,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -212,8 +212,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
@ -229,8 +229,8 @@ expression: "format!(\"{document_ids_scores:#?}\")"
|
|||||||
[
|
[
|
||||||
Fid(
|
Fid(
|
||||||
Rank {
|
Rank {
|
||||||
rank: 3,
|
rank: 5,
|
||||||
max_rank: 3,
|
max_rank: 5,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Position(
|
Position(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user