mirror of
https://github.com/quickwit-oss/tantivy.git
synced 2026-05-23 11:40:40 +00:00
Minor changes.
This commit is contained in:
@@ -93,6 +93,7 @@ mod tests {
|
||||
|
||||
use super::*;
|
||||
use test::Bencher;
|
||||
use ScoredDoc;
|
||||
|
||||
#[bench]
|
||||
fn build_collector(b: &mut Bencher) {
|
||||
@@ -100,7 +101,7 @@ mod tests {
|
||||
let mut count_collector = CountCollector::new();
|
||||
let docs: Vec<u32> = (0..1_000_000).collect();
|
||||
for doc in docs {
|
||||
count_collector.collect(doc, 1f32);
|
||||
count_collector.collect(ScoredDoc(1f32, doc));
|
||||
}
|
||||
count_collector.count()
|
||||
});
|
||||
|
||||
@@ -199,7 +199,7 @@ mod tests {
|
||||
assert_eq!(remaining_data.len(), 0);
|
||||
}
|
||||
for i in 0..128 {
|
||||
assert_eq!(vals[i], decoder.output()[i]);
|
||||
assert_eq!(vals[i], decoder.output(i));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -214,7 +214,7 @@ mod tests {
|
||||
assert_eq!(remaining_data.len(), 0);
|
||||
}
|
||||
for i in 0..128 {
|
||||
assert_eq!(vals[i], decoder.output()[i]);
|
||||
assert_eq!(vals[i], decoder.output(i));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -234,7 +234,7 @@ mod tests {
|
||||
assert_eq!(remaining_data[0], 173u8);
|
||||
}
|
||||
for i in 0..n {
|
||||
assert_eq!(vals[i], decoder.output()[i]);
|
||||
assert_eq!(vals[i], decoder.output(i));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ mod tests {
|
||||
assert_eq!(remaining_data[0], 173u8);
|
||||
}
|
||||
for i in 0..n {
|
||||
assert_eq!(vals[i], decoder.output()[i]);
|
||||
assert_eq!(vals[i], decoder.output(i));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -274,7 +274,7 @@ mod tests {
|
||||
let mut decoder = SIMDBlockDecoder::new();
|
||||
let remaining_data = decoder.uncompress_vint_sorted(&encoded_data, *offset, input.len());
|
||||
assert_eq!(0, remaining_data.len());
|
||||
for (&decoded, &expected) in decoder.output().iter().zip(input.iter()) {
|
||||
for (&decoded, &expected) in decoder.output_array().iter().zip(input.iter()) {
|
||||
assert_eq!(decoded, expected);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ use num_cpus;
|
||||
use core::segment_serializer::SegmentSerializer;
|
||||
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, Hash,RustcDecodable,RustcEncodable)]
|
||||
#[derive(Clone, Copy, PartialEq, Eq, Hash,RustcDecodable,RustcEncodable)]
|
||||
pub struct SegmentId(Uuid);
|
||||
|
||||
impl SegmentId {
|
||||
@@ -48,6 +48,12 @@ impl IndexMeta {
|
||||
schema: schema,
|
||||
}
|
||||
}
|
||||
|
||||
fn segment_ordinal(&self, segment_id: SegmentId) -> Option<usize> {
|
||||
self.segments
|
||||
.iter()
|
||||
.position(|&el| el == segment_id)
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Debug for Index {
|
||||
@@ -147,10 +153,8 @@ impl Index {
|
||||
pub fn publish_merge_segment(&mut self, segments: &Vec<Segment>, merged_segment: &Segment) -> io::Result<()> {
|
||||
{
|
||||
let mut meta_write = self.metas.write().unwrap();
|
||||
for segment in segments.iter() {
|
||||
let segment_pos = meta_write
|
||||
.segments.iter()
|
||||
.position(|el| *el == segment.id());
|
||||
for segment in segments {
|
||||
let segment_pos = meta_write.segment_ordinal(segment.id());
|
||||
match segment_pos {
|
||||
Some(pos) => {
|
||||
meta_write.segments.remove(pos);
|
||||
@@ -176,17 +180,16 @@ impl Index {
|
||||
}
|
||||
|
||||
pub fn segments(&self,) -> Vec<Segment> {
|
||||
// TODO handle error
|
||||
self.segment_ids()
|
||||
.into_iter()
|
||||
.map(|segment_id| self.segment(&segment_id))
|
||||
.map(|segment_id| self.segment(segment_id))
|
||||
.collect()
|
||||
}
|
||||
|
||||
pub fn segment(&self, segment_id: &SegmentId) -> Segment {
|
||||
pub fn segment(&self, segment_id: SegmentId) -> Segment {
|
||||
Segment {
|
||||
index: self.clone(),
|
||||
segment_id: segment_id.clone()
|
||||
segment_id: segment_id
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,7 +204,7 @@ impl Index {
|
||||
}
|
||||
|
||||
pub fn new_segment(&self,) -> Segment {
|
||||
self.segment(&SegmentId::new())
|
||||
self.segment(SegmentId::new())
|
||||
}
|
||||
|
||||
pub fn load_metas(&mut self,) -> io::Result<()> {
|
||||
@@ -262,7 +265,7 @@ impl Segment {
|
||||
}
|
||||
|
||||
pub fn id(&self,) -> SegmentId {
|
||||
self.segment_id.clone()
|
||||
self.segment_id
|
||||
}
|
||||
|
||||
fn path_suffix(component: &SegmentComponent)-> &'static str {
|
||||
|
||||
@@ -226,7 +226,7 @@ mod tests {
|
||||
use schema::Document;
|
||||
use schema::Term;
|
||||
use core::index::Index;
|
||||
use core::searcher::DocAddress;
|
||||
use DocAddress;
|
||||
use collector::FastFieldTestCollector;
|
||||
use collector::TestCollector;
|
||||
use query::MultiTermQuery;
|
||||
|
||||
@@ -41,7 +41,8 @@ impl SegmentWriter {
|
||||
// - the dictionary in an fst
|
||||
// - the postings
|
||||
// - the segment info
|
||||
// The segment writer cannot be used after this.
|
||||
// The segment writer cannot be used after this, which is
|
||||
// enforced by the fact that "self" is moved.
|
||||
pub fn finalize(mut self,) -> io::Result<()> {
|
||||
let segment_info = self.segment_info();
|
||||
self.postings_writer.close();
|
||||
|
||||
@@ -5,15 +5,6 @@ use std::fmt;
|
||||
use std::path::Path;
|
||||
use directory::{ReadOnlySource, WritePtr};
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
//
|
||||
// #[derive(Debug)]
|
||||
// pub enum CreateError {
|
||||
// RootDirectoryDoesNotExist,
|
||||
// DirectoryAlreadyExists,
|
||||
// CannotCreateTempDirectory(io::Error),
|
||||
// }
|
||||
|
||||
pub trait Directory: fmt::Debug + Send + Sync {
|
||||
fn open_read(&self, path: &Path) -> io::Result<ReadOnlySource>;
|
||||
fn open_write(&mut self, path: &Path) -> io::Result<WritePtr>;
|
||||
|
||||
Reference in New Issue
Block a user