mirror of
https://github.com/quickwit-oss/tantivy.git
synced 2025-12-23 02:29:57 +00:00
move to_named_doc to Document trait (#2205)
This commit is contained in:
@@ -158,6 +158,7 @@ mod default_doc_type;
|
||||
mod existing_type_impls;
|
||||
mod se;
|
||||
|
||||
use std::collections::BTreeMap;
|
||||
use std::fmt::Debug;
|
||||
use std::mem;
|
||||
use std::net::Ipv6Addr;
|
||||
@@ -220,6 +221,20 @@ pub trait Document: DocumentDeserialize + Send + Sync + 'static {
|
||||
grouped_field_values.push((current_field, current_group));
|
||||
grouped_field_values
|
||||
}
|
||||
|
||||
/// Create a named document from the doc.
|
||||
fn to_named_doc(&self, schema: &Schema) -> NamedFieldDocument {
|
||||
let mut field_map = BTreeMap::new();
|
||||
for (field, field_values) in self.get_sorted_field_values() {
|
||||
let field_name = schema.get_field_name(field);
|
||||
let values: Vec<OwnedValue> = field_values
|
||||
.into_iter()
|
||||
.map(|val| val.as_value().into())
|
||||
.collect();
|
||||
field_map.insert(field_name.to_string(), values);
|
||||
}
|
||||
NamedFieldDocument(field_map)
|
||||
}
|
||||
}
|
||||
|
||||
/// A single field value.
|
||||
|
||||
Reference in New Issue
Block a user