From 2c13f210bc7ecba1554316683944fbf52bc6026e Mon Sep 17 00:00:00 2001 From: Paul Masurel Date: Sun, 7 May 2017 15:57:29 +0900 Subject: [PATCH] Bugfix on merging i64 fast fields --- src/core/segment_reader.rs | 7 +++++++ src/indexer/merger.rs | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/core/segment_reader.rs b/src/core/segment_reader.rs index e8a3913af..7b4387904 100644 --- a/src/core/segment_reader.rs +++ b/src/core/segment_reader.rs @@ -25,6 +25,8 @@ use schema::FieldType; use postings::FreqHandler; use schema::TextIndexingOptions; + + /// Entry point to access all of the datastructures of the `Segment` /// /// - term dictionary @@ -74,6 +76,11 @@ impl SegmentReader { self.delete_bitset.len() as DocId } + #[doc(hidden)] + pub fn fast_fields_reader(&self) -> &FastFieldsReader { + &*self.fast_fields_reader + } + /// Accessor to a segment's fast field reader given a field. /// /// Returns the u64 fast value reader if the field diff --git a/src/indexer/merger.rs b/src/indexer/merger.rs index 56d30e963..e638067c2 100644 --- a/src/indexer/merger.rs +++ b/src/indexer/merger.rs @@ -77,8 +77,8 @@ fn extract_fieldnorm_reader(segment_reader: &SegmentReader, field: Field) -> Opt fn extract_fast_field_reader(segment_reader: &SegmentReader, field: Field) -> Option { segment_reader - .get_fast_field_reader(field) - .ok() + .fast_fields_reader() + .open_reader(field) } impl IndexMerger {