mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-07-29 09:39:58 +00:00
Reintroduce asc/desc functionality
This commit is contained in:
committed by
Loïc Lecrenier
parent
bd2c0e1ab6
commit
e570c23153
@ -6,7 +6,10 @@ use ordered_float::OrderedFloat;
|
||||
use roaring::RoaringBitmap;
|
||||
|
||||
use super::{Criterion, CriterionParameters, CriterionResult};
|
||||
use crate::heed_codec::facet::new::{FacetKeyCodec, MyByteSlice};
|
||||
use crate::search::criteria::{resolve_query_tree, CriteriaBuilder};
|
||||
use crate::search::facet::facet_sort_ascending::ascending_facet_sort;
|
||||
use crate::search::facet::facet_sort_descending::descending_facet_sort;
|
||||
// use crate::search::facet::FacetStringIter;
|
||||
use crate::search::query_tree::Operation;
|
||||
use crate::{FieldId, Index, Result};
|
||||
@ -186,24 +189,22 @@ fn facet_ordered<'t>(
|
||||
iterative_facet_string_ordered_iter(index, rtxn, field_id, is_ascending, candidates)?;
|
||||
Ok(Box::new(number_iter.chain(string_iter).map(Ok)) as Box<dyn Iterator<Item = _>>)
|
||||
} else {
|
||||
todo!()
|
||||
// let facet_number_fn = if is_ascending {
|
||||
// FacetNumberIter::new_reducing
|
||||
// } else {
|
||||
// FacetNumberIter::new_reverse_reducing
|
||||
// };
|
||||
// let number_iter = facet_number_fn(rtxn, index, field_id, candidates.clone())?
|
||||
// .map(|res| res.map(|(_, docids)| docids));
|
||||
let make_iter = if is_ascending { ascending_facet_sort } else { descending_facet_sort };
|
||||
|
||||
// let facet_string_fn = if is_ascending {
|
||||
// FacetStringIter::new_reducing
|
||||
// } else {
|
||||
// FacetStringIter::new_reverse_reducing
|
||||
// };
|
||||
// let string_iter = facet_string_fn(rtxn, index, field_id, candidates)?
|
||||
// .map(|res| res.map(|(_, _, docids)| docids));
|
||||
let number_iter = make_iter(
|
||||
rtxn,
|
||||
index.facet_id_f64_docids.remap_key_type::<FacetKeyCodec<MyByteSlice>>(),
|
||||
field_id,
|
||||
candidates.clone(),
|
||||
)?;
|
||||
let string_iter = make_iter(
|
||||
rtxn,
|
||||
index.facet_id_f64_docids.remap_key_type::<FacetKeyCodec<MyByteSlice>>(),
|
||||
field_id,
|
||||
candidates,
|
||||
)?;
|
||||
|
||||
// Ok(Box::new(number_iter.chain(string_iter)))
|
||||
Ok(Box::new(number_iter.chain(string_iter)))
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user