mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-11-04 01:46:28 +00:00 
			
		
		
		
	Polish some details
This commit is contained in:
		
				
					committed by
					
						
						Loïc Lecrenier
					
				
			
			
				
	
			
			
			
						parent
						
							cb8442a119
						
					
				
				
					commit
					51961e1064
				
			@@ -33,10 +33,6 @@ pub fn extract_facet_string_docids<R: io::Read + io::Seek>(
 | 
			
		||||
        let (field_id_bytes, bytes) = try_split_array_at(key).unwrap();
 | 
			
		||||
        let field_id = FieldId::from_be_bytes(field_id_bytes);
 | 
			
		||||
 | 
			
		||||
        // document_id_bytes is a big-endian u32
 | 
			
		||||
        // merge_cbo_roaring_bitmap works with native endian u32s
 | 
			
		||||
        // that is a problem, I think
 | 
			
		||||
 | 
			
		||||
        let (document_id_bytes, normalized_value_bytes) =
 | 
			
		||||
            try_split_array_at::<_, 4>(bytes).unwrap();
 | 
			
		||||
        let document_id = u32::from_be_bytes(document_id_bytes);
 | 
			
		||||
@@ -45,6 +41,7 @@ pub fn extract_facet_string_docids<R: io::Read + io::Seek>(
 | 
			
		||||
        let key = FacetGroupKey { field_id, level: 0, left_bound: normalised_value };
 | 
			
		||||
        let key_bytes = FacetGroupKeyCodec::<StrRefCodec>::bytes_encode(&key).unwrap();
 | 
			
		||||
 | 
			
		||||
        // document id is encoded in native-endian because of the CBO roaring bitmap codec
 | 
			
		||||
        facet_string_docids_sorter.insert(&key_bytes, &document_id.to_ne_bytes())?;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,6 @@ use std::result::Result as StdResult;
 | 
			
		||||
use roaring::RoaringBitmap;
 | 
			
		||||
 | 
			
		||||
use super::read_u32_ne_bytes;
 | 
			
		||||
// use crate::heed_codec::facet::{decode_prefix_string, encode_prefix_string};
 | 
			
		||||
use crate::heed_codec::CboRoaringBitmapCodec;
 | 
			
		||||
use crate::Result;
 | 
			
		||||
 | 
			
		||||
@@ -49,33 +48,6 @@ pub fn merge_roaring_bitmaps<'a>(_key: &[u8], values: &[Cow<'a, [u8]>]) -> Resul
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// pub fn keep_first_prefix_value_merge_roaring_bitmaps<'a>(
 | 
			
		||||
//     _key: &[u8],
 | 
			
		||||
//     values: &[Cow<'a, [u8]>],
 | 
			
		||||
// ) -> Result<Cow<'a, [u8]>> {
 | 
			
		||||
//     if values.len() == 1 {
 | 
			
		||||
//         Ok(values[0].clone())
 | 
			
		||||
//     } else {
 | 
			
		||||
//         let original = decode_prefix_string(&values[0]).unwrap().0;
 | 
			
		||||
//         let merged_bitmaps = values
 | 
			
		||||
//             .iter()
 | 
			
		||||
//             .map(AsRef::as_ref)
 | 
			
		||||
//             .map(decode_prefix_string)
 | 
			
		||||
//             .map(Option::unwrap)
 | 
			
		||||
//             .map(|(_, bitmap_bytes)| bitmap_bytes)
 | 
			
		||||
//             .map(RoaringBitmap::deserialize_from)
 | 
			
		||||
//             .map(StdResult::unwrap)
 | 
			
		||||
//             .reduce(|a, b| a | b)
 | 
			
		||||
//             .unwrap();
 | 
			
		||||
 | 
			
		||||
//         let cap = std::mem::size_of::<u16>() + original.len() + merged_bitmaps.serialized_size();
 | 
			
		||||
//         let mut buffer = Vec::with_capacity(cap);
 | 
			
		||||
//         encode_prefix_string(original, &mut buffer)?;
 | 
			
		||||
//         merged_bitmaps.serialize_into(&mut buffer)?;
 | 
			
		||||
//         Ok(Cow::Owned(buffer))
 | 
			
		||||
//     }
 | 
			
		||||
// }
 | 
			
		||||
 | 
			
		||||
pub fn keep_first<'a>(_key: &[u8], values: &[Cow<'a, [u8]>]) -> Result<Cow<'a, [u8]>> {
 | 
			
		||||
    Ok(values[0].clone())
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user