diff --git a/src/collector/facet_collector.rs b/src/collector/facet_collector.rs index ee66a88a2..ef996fd40 100644 --- a/src/collector/facet_collector.rs +++ b/src/collector/facet_collector.rs @@ -493,7 +493,7 @@ mod tests { use super::{FacetCollector, FacetCounts}; use crate::collector::facet_collector::compress_mapping; use crate::collector::Count; - use crate::core::Index; + use crate::index::Index; use crate::query::{AllQuery, QueryParser, TermQuery}; use crate::schema::{Facet, FacetOptions, IndexRecordOption, Schema, TantivyDocument}; use crate::{IndexWriter, Term}; diff --git a/src/collector/tests.rs b/src/collector/tests.rs index 81924090a..ff8a64abd 100644 --- a/src/collector/tests.rs +++ b/src/collector/tests.rs @@ -2,7 +2,7 @@ use columnar::{BytesColumn, Column}; use super::*; use crate::collector::{Count, FilterCollector, TopDocs}; -use crate::core::SegmentReader; +use crate::index::SegmentReader; use crate::query::{AllQuery, QueryParser}; use crate::schema::{Schema, FAST, TEXT}; use crate::time::format_description::well_known::Rfc3339; diff --git a/src/core/mod.rs b/src/core/mod.rs index 6a98f6fe0..db4ab2896 100644 --- a/src/core/mod.rs +++ b/src/core/mod.rs @@ -1,32 +1,14 @@ mod executor; -pub mod index; -mod index_meta; -mod inverted_index_reader; #[doc(hidden)] pub mod json_utils; pub mod searcher; -mod segment; -mod segment_component; -mod segment_id; -mod segment_reader; -mod single_segment_index_writer; use std::path::Path; use once_cell::sync::Lazy; pub use self::executor::Executor; -pub use self::index::{Index, IndexBuilder}; -pub use self::index_meta::{ - IndexMeta, IndexSettings, IndexSortByField, Order, SegmentMeta, SegmentMetaInventory, -}; -pub use self::inverted_index_reader::InvertedIndexReader; pub use self::searcher::{Searcher, SearcherGeneration}; -pub use self::segment::Segment; -pub use self::segment_component::SegmentComponent; -pub use self::segment_id::SegmentId; -pub use self::segment_reader::{merge_field_meta_data, FieldMetadata, SegmentReader}; -pub use self::single_segment_index_writer::SingleSegmentIndexWriter; /// The meta file contains all the information about the list of segments and the schema /// of the index. diff --git a/src/core/searcher.rs b/src/core/searcher.rs index 3f989696c..8c5dad3da 100644 --- a/src/core/searcher.rs +++ b/src/core/searcher.rs @@ -3,7 +3,8 @@ use std::sync::Arc; use std::{fmt, io}; use crate::collector::Collector; -use crate::core::{Executor, SegmentReader}; +use crate::core::Executor; +use crate::index::SegmentReader; use crate::query::{Bm25StatisticsProvider, EnableScoring, Query}; use crate::schema::document::DocumentDeserialize; use crate::schema::{Schema, Term}; diff --git a/src/directory/mmap_directory.rs b/src/directory/mmap_directory.rs index 781fe7e20..e02d4f8dd 100644 --- a/src/directory/mmap_directory.rs +++ b/src/directory/mmap_directory.rs @@ -673,7 +673,7 @@ mod tests { let num_segments = reader.searcher().segment_readers().len(); assert!(num_segments <= 4); let num_components_except_deletes_and_tempstore = - crate::core::SegmentComponent::iterator().len() - 2; + crate::index::SegmentComponent::iterator().len() - 2; let max_num_mmapped = num_components_except_deletes_and_tempstore * num_segments; assert_eventually(|| { let num_mmapped = mmap_directory.get_cache_info().mmapped.len(); diff --git a/src/core/index.rs b/src/index/index.rs similarity index 98% rename from src/core/index.rs rename to src/index/index.rs index efdff505b..a298ede11 100644 --- a/src/core/index.rs +++ b/src/index/index.rs @@ -6,24 +6,23 @@ use std::path::PathBuf; use std::sync::Arc; use super::segment::Segment; -use super::IndexSettings; -use crate::core::single_segment_index_writer::SingleSegmentIndexWriter; -use crate::core::{ - Executor, IndexMeta, SegmentId, SegmentMeta, SegmentMetaInventory, META_FILEPATH, -}; +use super::segment_reader::merge_field_meta_data; +use super::{FieldMetadata, IndexSettings}; +use crate::core::{Executor, META_FILEPATH}; use crate::directory::error::OpenReadError; #[cfg(feature = "mmap")] use crate::directory::MmapDirectory; use crate::directory::{Directory, ManagedDirectory, RamDirectory, INDEX_WRITER_LOCK}; use crate::error::{DataCorruption, TantivyError}; +use crate::index::{IndexMeta, SegmentId, SegmentMeta, SegmentMetaInventory}; use crate::indexer::index_writer::{MAX_NUM_THREAD, MEMORY_BUDGET_NUM_BYTES_MIN}; use crate::indexer::segment_updater::save_metas; -use crate::indexer::IndexWriter; +use crate::indexer::{IndexWriter, SingleSegmentIndexWriter}; use crate::reader::{IndexReader, IndexReaderBuilder}; use crate::schema::document::Document; use crate::schema::{Field, FieldType, Schema}; use crate::tokenizer::{TextAnalyzer, TokenizerManager}; -use crate::{merge_field_meta_data, FieldMetadata, SegmentReader}; +use crate::SegmentReader; fn load_metas( directory: &dyn Directory, diff --git a/src/core/index_meta.rs b/src/index/index_meta.rs similarity index 99% rename from src/core/index_meta.rs rename to src/index/index_meta.rs index 0ed61e2a6..d0b649586 100644 --- a/src/core/index_meta.rs +++ b/src/index/index_meta.rs @@ -7,7 +7,7 @@ use std::sync::Arc; use serde::{Deserialize, Serialize}; use super::SegmentComponent; -use crate::core::SegmentId; +use crate::index::SegmentId; use crate::schema::Schema; use crate::store::Compressor; use crate::{Inventory, Opstamp, TrackedObject}; @@ -19,7 +19,7 @@ struct DeleteMeta { } #[derive(Clone, Default)] -pub struct SegmentMetaInventory { +pub(crate) struct SegmentMetaInventory { inventory: Inventory, } @@ -408,7 +408,7 @@ impl fmt::Debug for IndexMeta { mod tests { use super::IndexMeta; - use crate::core::index_meta::UntrackedIndexMeta; + use crate::index::index_meta::UntrackedIndexMeta; use crate::schema::{Schema, TEXT}; use crate::store::Compressor; #[cfg(feature = "zstd-compression")] diff --git a/src/core/inverted_index_reader.rs b/src/index/inverted_index_reader.rs similarity index 100% rename from src/core/inverted_index_reader.rs rename to src/index/inverted_index_reader.rs diff --git a/src/index/mod.rs b/src/index/mod.rs new file mode 100644 index 000000000..89e71d2c8 --- /dev/null +++ b/src/index/mod.rs @@ -0,0 +1,22 @@ +//! # Index Module +//! +//! The `index` module in Tantivy contains core components to read and write indexes. +//! +//! It contains `Index` and `Segment`, where a `Index` consists of one or more `Segment`s. + +mod index; +mod index_meta; +mod inverted_index_reader; +mod segment; +mod segment_component; +mod segment_id; +mod segment_reader; + +pub use self::index::{Index, IndexBuilder}; +pub(crate) use self::index_meta::SegmentMetaInventory; +pub use self::index_meta::{IndexMeta, IndexSettings, IndexSortByField, Order, SegmentMeta}; +pub use self::inverted_index_reader::InvertedIndexReader; +pub use self::segment::Segment; +pub use self::segment_component::SegmentComponent; +pub use self::segment_id::SegmentId; +pub use self::segment_reader::{FieldMetadata, SegmentReader}; diff --git a/src/core/segment.rs b/src/index/segment.rs similarity index 98% rename from src/core/segment.rs rename to src/index/segment.rs index 21cf2d691..4c9382cb0 100644 --- a/src/core/segment.rs +++ b/src/index/segment.rs @@ -2,9 +2,9 @@ use std::fmt; use std::path::PathBuf; use super::SegmentComponent; -use crate::core::{Index, SegmentId, SegmentMeta}; use crate::directory::error::{OpenReadError, OpenWriteError}; use crate::directory::{Directory, FileSlice, WritePtr}; +use crate::index::{Index, SegmentId, SegmentMeta}; use crate::schema::Schema; use crate::Opstamp; diff --git a/src/core/segment_component.rs b/src/index/segment_component.rs similarity index 100% rename from src/core/segment_component.rs rename to src/index/segment_component.rs diff --git a/src/core/segment_id.rs b/src/index/segment_id.rs similarity index 100% rename from src/core/segment_id.rs rename to src/index/segment_id.rs diff --git a/src/core/segment_reader.rs b/src/index/segment_reader.rs similarity index 99% rename from src/core/segment_reader.rs rename to src/index/segment_reader.rs index cae1b537d..e6b098b84 100644 --- a/src/core/segment_reader.rs +++ b/src/index/segment_reader.rs @@ -6,11 +6,11 @@ use std::{fmt, io}; use fnv::FnvHashMap; use itertools::Itertools; -use crate::core::{InvertedIndexReader, Segment, SegmentComponent, SegmentId}; use crate::directory::{CompositeFile, FileSlice}; use crate::error::DataCorruption; use crate::fastfield::{intersect_alive_bitsets, AliveBitSet, FacetReader, FastFieldReaders}; use crate::fieldnorm::{FieldNormReader, FieldNormReaders}; +use crate::index::{InvertedIndexReader, Segment, SegmentComponent, SegmentId}; use crate::json_utils::json_path_sep_to_dot; use crate::schema::{Field, IndexRecordOption, Schema, Type}; use crate::space_usage::SegmentSpaceUsage; @@ -515,9 +515,9 @@ impl fmt::Debug for SegmentReader { #[cfg(test)] mod test { use super::*; - use crate::core::Index; + use crate::index::Index; use crate::schema::{Schema, SchemaBuilder, Term, STORED, TEXT}; - use crate::{DocId, FieldMetadata, IndexWriter}; + use crate::{DocId, IndexWriter}; #[test] fn test_merge_field_meta_data_same() { diff --git a/src/indexer/index_writer.rs b/src/indexer/index_writer.rs index f2e547750..1e9a15ce3 100644 --- a/src/indexer/index_writer.rs +++ b/src/indexer/index_writer.rs @@ -9,10 +9,10 @@ use smallvec::smallvec; use super::operation::{AddOperation, UserOperation}; use super::segment_updater::SegmentUpdater; use super::{AddBatch, AddBatchReceiver, AddBatchSender, PreparedCommit}; -use crate::core::{Index, Segment, SegmentComponent, SegmentId, SegmentMeta, SegmentReader}; use crate::directory::{DirectoryLock, GarbageCollectionResult, TerminatingWrite}; use crate::error::TantivyError; use crate::fastfield::write_alive_bitset; +use crate::index::{Index, Segment, SegmentComponent, SegmentId, SegmentMeta, SegmentReader}; use crate::indexer::delete_queue::{DeleteCursor, DeleteQueue}; use crate::indexer::doc_opstamp_mapping::DocToOpstampMapping; use crate::indexer::index_writer_status::IndexWriterStatus; diff --git a/src/indexer/log_merge_policy.rs b/src/indexer/log_merge_policy.rs index b7ee34dcc..53f2166e8 100644 --- a/src/indexer/log_merge_policy.rs +++ b/src/indexer/log_merge_policy.rs @@ -3,7 +3,7 @@ use std::cmp; use itertools::Itertools; use super::merge_policy::{MergeCandidate, MergePolicy}; -use crate::core::SegmentMeta; +use crate::index::SegmentMeta; const DEFAULT_LEVEL_LOG_SIZE: f64 = 0.75; const DEFAULT_MIN_LAYER_SIZE: u32 = 10_000; @@ -144,7 +144,7 @@ mod tests { use once_cell::sync::Lazy; use super::*; - use crate::core::{SegmentId, SegmentMeta, SegmentMetaInventory}; + use crate::index::{SegmentId, SegmentMeta, SegmentMetaInventory}; use crate::indexer::merge_policy::MergePolicy; use crate::schema; use crate::schema::INDEXED; diff --git a/src/indexer/merge_policy.rs b/src/indexer/merge_policy.rs index 1e4503f97..d1f4dd6a6 100644 --- a/src/indexer/merge_policy.rs +++ b/src/indexer/merge_policy.rs @@ -1,7 +1,7 @@ use std::fmt::Debug; use std::marker; -use crate::core::{SegmentId, SegmentMeta}; +use crate::index::{SegmentId, SegmentMeta}; /// Set of segment suggested for a merge. #[derive(Debug, Clone)] @@ -39,7 +39,7 @@ impl MergePolicy for NoMergePolicy { pub mod tests { use super::*; - use crate::core::{SegmentId, SegmentMeta}; + use crate::index::{SegmentId, SegmentMeta}; /// `MergePolicy` useful for test purposes. /// diff --git a/src/indexer/merger.rs b/src/indexer/merger.rs index 8612f66c5..f203d8c58 100644 --- a/src/indexer/merger.rs +++ b/src/indexer/merger.rs @@ -8,12 +8,12 @@ use common::ReadOnlyBitSet; use itertools::Itertools; use measure_time::debug_time; -use crate::core::{Segment, SegmentReader}; use crate::directory::WritePtr; use crate::docset::{DocSet, TERMINATED}; use crate::error::DataCorruption; use crate::fastfield::{AliveBitSet, FastFieldNotAvailableError}; use crate::fieldnorm::{FieldNormReader, FieldNormReaders, FieldNormsSerializer, FieldNormsWriter}; +use crate::index::{Segment, SegmentReader}; use crate::indexer::doc_id_mapping::{MappingType, SegmentDocIdMapping}; use crate::indexer::SegmentSerializer; use crate::postings::{InvertedIndexSerializer, Postings, SegmentPostings}; @@ -794,7 +794,7 @@ mod tests { BytesFastFieldTestCollector, FastFieldTestCollector, TEST_COLLECTOR_WITH_SCORE, }; use crate::collector::{Count, FacetCollector}; - use crate::core::Index; + use crate::index::Index; use crate::query::{AllQuery, BooleanQuery, EnableScoring, Scorer, TermQuery}; use crate::schema::document::Value; use crate::schema::{ diff --git a/src/indexer/merger_sorted_index_test.rs b/src/indexer/merger_sorted_index_test.rs index d27eab4ed..3b256a634 100644 --- a/src/indexer/merger_sorted_index_test.rs +++ b/src/indexer/merger_sorted_index_test.rs @@ -1,8 +1,8 @@ #[cfg(test)] mod tests { use crate::collector::TopDocs; - use crate::core::Index; use crate::fastfield::AliveBitSet; + use crate::index::Index; use crate::query::QueryParser; use crate::schema::document::Value; use crate::schema::{ @@ -485,7 +485,7 @@ mod bench_sorted_index_merge { use test::{self, Bencher}; - use crate::core::Index; + use crate::index::Index; use crate::indexer::merger::IndexMerger; use crate::schema::{NumericOptions, Schema}; use crate::{IndexSettings, IndexSortByField, IndexWriter, Order}; diff --git a/src/indexer/mod.rs b/src/indexer/mod.rs index 204ce134b..ec84c37ae 100644 --- a/src/indexer/mod.rs +++ b/src/indexer/mod.rs @@ -25,6 +25,7 @@ mod segment_register; pub(crate) mod segment_serializer; pub(crate) mod segment_updater; pub(crate) mod segment_writer; +pub(crate) mod single_segment_index_writer; mod stamper; use crossbeam_channel as channel; @@ -34,13 +35,14 @@ pub use self::index_writer::IndexWriter; pub use self::log_merge_policy::LogMergePolicy; pub use self::merge_operation::MergeOperation; pub use self::merge_policy::{MergeCandidate, MergePolicy, NoMergePolicy}; +use self::operation::AddOperation; pub use self::operation::UserOperation; pub use self::prepared_commit::PreparedCommit; pub use self::segment_entry::SegmentEntry; pub(crate) use self::segment_serializer::SegmentSerializer; pub use self::segment_updater::{merge_filtered_segments, merge_indices}; pub use self::segment_writer::SegmentWriter; -use crate::indexer::operation::AddOperation; +pub use self::single_segment_index_writer::SingleSegmentIndexWriter; /// Alias for the default merge policy, which is the `LogMergePolicy`. pub type DefaultMergePolicy = LogMergePolicy; @@ -63,9 +65,10 @@ mod tests_mmap { use crate::aggregation::agg_result::AggregationResults; use crate::aggregation::AggregationCollector; use crate::collector::{Count, TopDocs}; + use crate::index::FieldMetadata; use crate::query::{AllQuery, QueryParser}; use crate::schema::{JsonObjectOptions, Schema, Type, FAST, INDEXED, STORED, TEXT}; - use crate::{FieldMetadata, Index, IndexWriter, Term}; + use crate::{Index, IndexWriter, Term}; #[test] fn test_advance_delete_bug() -> crate::Result<()> { diff --git a/src/indexer/segment_entry.rs b/src/indexer/segment_entry.rs index 0e5002338..56fcf09b2 100644 --- a/src/indexer/segment_entry.rs +++ b/src/indexer/segment_entry.rs @@ -2,7 +2,7 @@ use std::fmt; use common::BitSet; -use crate::core::{SegmentId, SegmentMeta}; +use crate::index::{SegmentId, SegmentMeta}; use crate::indexer::delete_queue::DeleteCursor; /// A segment entry describes the state of diff --git a/src/indexer/segment_manager.rs b/src/indexer/segment_manager.rs index a65621514..810e10170 100644 --- a/src/indexer/segment_manager.rs +++ b/src/indexer/segment_manager.rs @@ -3,8 +3,8 @@ use std::fmt::{self, Debug, Formatter}; use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}; use super::segment_register::SegmentRegister; -use crate::core::{SegmentId, SegmentMeta}; use crate::error::TantivyError; +use crate::index::{SegmentId, SegmentMeta}; use crate::indexer::delete_queue::DeleteCursor; use crate::indexer::SegmentEntry; diff --git a/src/indexer/segment_register.rs b/src/indexer/segment_register.rs index 0068d598b..b74bc7646 100644 --- a/src/indexer/segment_register.rs +++ b/src/indexer/segment_register.rs @@ -1,7 +1,7 @@ use std::collections::{HashMap, HashSet}; use std::fmt::{self, Debug, Display, Formatter}; -use crate::core::{SegmentId, SegmentMeta}; +use crate::index::{SegmentId, SegmentMeta}; use crate::indexer::delete_queue::DeleteCursor; use crate::indexer::segment_entry::SegmentEntry; @@ -103,7 +103,7 @@ impl SegmentRegister { #[cfg(test)] mod tests { use super::*; - use crate::core::{SegmentId, SegmentMetaInventory}; + use crate::index::{SegmentId, SegmentMetaInventory}; use crate::indexer::delete_queue::*; fn segment_ids(segment_register: &SegmentRegister) -> Vec { diff --git a/src/indexer/segment_serializer.rs b/src/indexer/segment_serializer.rs index 6dcb442ff..cdb7a8ef5 100644 --- a/src/indexer/segment_serializer.rs +++ b/src/indexer/segment_serializer.rs @@ -1,8 +1,8 @@ use common::TerminatingWrite; -use crate::core::{Segment, SegmentComponent}; use crate::directory::WritePtr; use crate::fieldnorm::FieldNormsSerializer; +use crate::index::{Segment, SegmentComponent}; use crate::postings::InvertedIndexSerializer; use crate::store::StoreWriter; diff --git a/src/indexer/segment_updater.rs b/src/indexer/segment_updater.rs index e4d056d8c..12faba951 100644 --- a/src/indexer/segment_updater.rs +++ b/src/indexer/segment_updater.rs @@ -9,11 +9,10 @@ use std::sync::{Arc, RwLock}; use rayon::{ThreadPool, ThreadPoolBuilder}; use super::segment_manager::SegmentManager; -use crate::core::{ - Index, IndexMeta, IndexSettings, Segment, SegmentId, SegmentMeta, META_FILEPATH, -}; +use crate::core::META_FILEPATH; use crate::directory::{Directory, DirectoryClone, GarbageCollectionResult}; use crate::fastfield::AliveBitSet; +use crate::index::{Index, IndexMeta, IndexSettings, Segment, SegmentId, SegmentMeta}; use crate::indexer::delete_queue::DeleteCursor; use crate::indexer::index_writer::advance_deletes; use crate::indexer::merge_operation::MergeOperationInventory; diff --git a/src/indexer/segment_writer.rs b/src/indexer/segment_writer.rs index c0bd8d440..b04b93c1c 100644 --- a/src/indexer/segment_writer.rs +++ b/src/indexer/segment_writer.rs @@ -6,9 +6,9 @@ use tokenizer_api::BoxTokenStream; use super::doc_id_mapping::{get_doc_id_mapping_from_field, DocIdMapping}; use super::operation::AddOperation; use crate::core::json_utils::index_json_values; -use crate::core::Segment; use crate::fastfield::FastFieldsWriter; use crate::fieldnorm::{FieldNormReaders, FieldNormsWriter}; +use crate::index::Segment; use crate::indexer::segment_serializer::SegmentSerializer; use crate::postings::{ compute_table_memory_size, serialize_postings, IndexingContext, IndexingPosition, diff --git a/src/core/single_segment_index_writer.rs b/src/indexer/single_segment_index_writer.rs similarity index 100% rename from src/core/single_segment_index_writer.rs rename to src/indexer/single_segment_index_writer.rs diff --git a/src/lib.rs b/src/lib.rs index f9aa19c5a..1ac7ad21f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -189,6 +189,7 @@ pub mod collector; pub mod directory; pub mod fastfield; pub mod fieldnorm; +pub mod index; pub mod positions; pub mod postings; @@ -220,18 +221,18 @@ pub use self::docset::{DocSet, TERMINATED}; pub use self::snippet::{Snippet, SnippetGenerator}; #[doc(hidden)] pub use crate::core::json_utils; -pub use crate::core::{ - merge_field_meta_data, Executor, FieldMetadata, Index, IndexBuilder, IndexMeta, IndexSettings, - IndexSortByField, InvertedIndexReader, Order, Searcher, SearcherGeneration, Segment, - SegmentComponent, SegmentId, SegmentMeta, SegmentReader, SingleSegmentIndexWriter, -}; +pub use crate::core::{Executor, Searcher, SearcherGeneration}; pub use crate::directory::Directory; -pub use crate::indexer::IndexWriter; +pub use crate::index::{ + Index, IndexBuilder, IndexMeta, IndexSettings, IndexSortByField, InvertedIndexReader, Order, + Segment, SegmentComponent, SegmentId, SegmentMeta, SegmentReader, +}; #[deprecated( since = "0.22.0", note = "Will be removed in tantivy 0.23. Use export from indexer module instead" )] -pub use crate::indexer::{merge_filtered_segments, merge_indices, PreparedCommit}; +pub use crate::indexer::PreparedCommit; +pub use crate::indexer::{IndexWriter, SingleSegmentIndexWriter}; pub use crate::postings::Postings; #[allow(deprecated)] pub use crate::schema::DatePrecision; @@ -386,8 +387,8 @@ pub mod tests { use time::OffsetDateTime; use crate::collector::tests::TEST_COLLECTOR_WITH_SCORE; - use crate::core::SegmentReader; use crate::docset::{DocSet, TERMINATED}; + use crate::index::SegmentReader; use crate::merge_policy::NoMergePolicy; use crate::query::BooleanQuery; use crate::schema::document::Value; diff --git a/src/postings/block_segment_postings.rs b/src/postings/block_segment_postings.rs index 366809a95..d8d2735b7 100644 --- a/src/postings/block_segment_postings.rs +++ b/src/postings/block_segment_postings.rs @@ -383,8 +383,8 @@ mod tests { use common::HasLen; use super::BlockSegmentPostings; - use crate::core::Index; use crate::docset::{DocSet, TERMINATED}; + use crate::index::Index; use crate::postings::compression::COMPRESSION_BLOCK_SIZE; use crate::postings::postings::Postings; use crate::postings::SegmentPostings; diff --git a/src/postings/mod.rs b/src/postings/mod.rs index 32c4b7bd8..5fd90032d 100644 --- a/src/postings/mod.rs +++ b/src/postings/mod.rs @@ -42,9 +42,9 @@ pub mod tests { use std::mem; use super::{InvertedIndexSerializer, Postings}; - use crate::core::{Index, SegmentComponent, SegmentReader}; use crate::docset::{DocSet, TERMINATED}; use crate::fieldnorm::FieldNormReader; + use crate::index::{Index, SegmentComponent, SegmentReader}; use crate::indexer::operation::AddOperation; use crate::indexer::SegmentWriter; use crate::query::Scorer; diff --git a/src/postings/serializer.rs b/src/postings/serializer.rs index b9bf8f0d3..c0757f8fd 100644 --- a/src/postings/serializer.rs +++ b/src/postings/serializer.rs @@ -4,9 +4,9 @@ use std::io::{self, Write}; use common::{BinarySerializable, CountingWriter, VInt}; use super::TermInfo; -use crate::core::Segment; use crate::directory::{CompositeWrite, WritePtr}; use crate::fieldnorm::FieldNormReader; +use crate::index::Segment; use crate::positions::PositionSerializer; use crate::postings::compression::{BlockEncoder, VIntEncoder, COMPRESSION_BLOCK_SIZE}; use crate::postings::skip::SkipSerializer; diff --git a/src/query/all_query.rs b/src/query/all_query.rs index fb88bf90c..2d0ffa0ce 100644 --- a/src/query/all_query.rs +++ b/src/query/all_query.rs @@ -1,5 +1,5 @@ -use crate::core::SegmentReader; use crate::docset::{DocSet, BUFFER_LEN, TERMINATED}; +use crate::index::SegmentReader; use crate::query::boost_query::BoostScorer; use crate::query::explanation::does_not_match; use crate::query::{EnableScoring, Explanation, Query, Scorer, Weight}; diff --git a/src/query/automaton_weight.rs b/src/query/automaton_weight.rs index 76c4e8286..ef675864b 100644 --- a/src/query/automaton_weight.rs +++ b/src/query/automaton_weight.rs @@ -5,7 +5,7 @@ use common::BitSet; use tantivy_fst::Automaton; use super::phrase_prefix_query::prefix_end; -use crate::core::SegmentReader; +use crate::index::SegmentReader; use crate::query::{BitSetDocSet, ConstScorer, Explanation, Scorer, Weight}; use crate::schema::{Field, IndexRecordOption}; use crate::termdict::{TermDictionary, TermStreamer}; diff --git a/src/query/boolean_query/boolean_weight.rs b/src/query/boolean_query/boolean_weight.rs index 4979ab1f0..094e0f5c0 100644 --- a/src/query/boolean_query/boolean_weight.rs +++ b/src/query/boolean_query/boolean_weight.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; -use crate::core::SegmentReader; use crate::docset::BUFFER_LEN; +use crate::index::SegmentReader; use crate::postings::FreqReadingOption; use crate::query::explanation::does_not_match; use crate::query::score_combiner::{DoNothingCombiner, ScoreCombiner}; diff --git a/src/query/exist_query.rs b/src/query/exist_query.rs index 7de8ee513..fac03293d 100644 --- a/src/query/exist_query.rs +++ b/src/query/exist_query.rs @@ -3,8 +3,8 @@ use core::fmt::Debug; use columnar::{ColumnIndex, DynamicColumn}; use super::{ConstScorer, EmptyScorer}; -use crate::core::SegmentReader; use crate::docset::{DocSet, TERMINATED}; +use crate::index::SegmentReader; use crate::query::explanation::does_not_match; use crate::query::{EnableScoring, Explanation, Query, Scorer, Weight}; use crate::{DocId, Score, TantivyError}; diff --git a/src/query/phrase_prefix_query/phrase_prefix_weight.rs b/src/query/phrase_prefix_query/phrase_prefix_weight.rs index ab34bf2c9..866c3c2c5 100644 --- a/src/query/phrase_prefix_query/phrase_prefix_weight.rs +++ b/src/query/phrase_prefix_query/phrase_prefix_weight.rs @@ -1,6 +1,6 @@ use super::{prefix_end, PhrasePrefixScorer}; -use crate::core::SegmentReader; use crate::fieldnorm::FieldNormReader; +use crate::index::SegmentReader; use crate::postings::SegmentPostings; use crate::query::bm25::Bm25Weight; use crate::query::explanation::does_not_match; @@ -157,8 +157,8 @@ impl Weight for PhrasePrefixWeight { #[cfg(test)] mod tests { - use crate::core::Index; use crate::docset::TERMINATED; + use crate::index::Index; use crate::query::{EnableScoring, PhrasePrefixQuery, Query}; use crate::schema::{Schema, TEXT}; use crate::{DocSet, IndexWriter, Term}; diff --git a/src/query/phrase_query/mod.rs b/src/query/phrase_query/mod.rs index 4809f46f8..7b8d3e007 100644 --- a/src/query/phrase_query/mod.rs +++ b/src/query/phrase_query/mod.rs @@ -14,7 +14,7 @@ pub mod tests { use super::*; use crate::collector::tests::{TEST_COLLECTOR_WITHOUT_SCORE, TEST_COLLECTOR_WITH_SCORE}; - use crate::core::Index; + use crate::index::Index; use crate::query::{EnableScoring, QueryParser, Weight}; use crate::schema::{Schema, Term, TEXT}; use crate::{assert_nearly_equals, DocAddress, DocId, IndexWriter, TERMINATED}; diff --git a/src/query/phrase_query/phrase_weight.rs b/src/query/phrase_query/phrase_weight.rs index 5b61eafb8..6e97bca7f 100644 --- a/src/query/phrase_query/phrase_weight.rs +++ b/src/query/phrase_query/phrase_weight.rs @@ -1,6 +1,6 @@ use super::PhraseScorer; -use crate::core::SegmentReader; use crate::fieldnorm::FieldNormReader; +use crate::index::SegmentReader; use crate::postings::SegmentPostings; use crate::query::bm25::Bm25Weight; use crate::query::explanation::does_not_match; diff --git a/src/query/query_parser/query_parser.rs b/src/query/query_parser/query_parser.rs index 6e7102b8f..7cf4de52a 100644 --- a/src/query/query_parser/query_parser.rs +++ b/src/query/query_parser/query_parser.rs @@ -13,7 +13,7 @@ use super::logical_ast::*; use crate::core::json_utils::{ convert_to_fast_value_and_get_term, set_string_and_get_terms, JsonTermWriter, }; -use crate::core::Index; +use crate::index::Index; use crate::query::range_query::{is_type_valid_for_fastfield_range_query, RangeQuery}; use crate::query::{ AllQuery, BooleanQuery, BoostQuery, EmptyQuery, FuzzyTermQuery, Occur, PhrasePrefixQuery, diff --git a/src/query/range_query/range_query.rs b/src/query/range_query/range_query.rs index 86ad4ac8f..056dc23b6 100644 --- a/src/query/range_query/range_query.rs +++ b/src/query/range_query/range_query.rs @@ -7,8 +7,8 @@ use common::{BinarySerializable, BitSet}; use super::map_bound; use super::range_query_u64_fastfield::FastFieldRangeWeight; -use crate::core::SegmentReader; use crate::error::TantivyError; +use crate::index::SegmentReader; use crate::query::explanation::does_not_match; use crate::query::range_query::range_query_ip_fastfield::IPFastFieldRangeWeight; use crate::query::range_query::{is_type_valid_for_fastfield_range_query, map_bound_res}; diff --git a/src/query/term_query/term_weight.rs b/src/query/term_query/term_weight.rs index 69064644e..61b9b10b5 100644 --- a/src/query/term_query/term_weight.rs +++ b/src/query/term_query/term_weight.rs @@ -1,7 +1,7 @@ use super::term_scorer::TermScorer; -use crate::core::SegmentReader; use crate::docset::{DocSet, BUFFER_LEN}; use crate::fieldnorm::FieldNormReader; +use crate::index::SegmentReader; use crate::postings::SegmentPostings; use crate::query::bm25::Bm25Weight; use crate::query::explanation::does_not_match; diff --git a/src/query/weight.rs b/src/query/weight.rs index eea4d28a8..24e49bb5b 100644 --- a/src/query/weight.rs +++ b/src/query/weight.rs @@ -1,6 +1,6 @@ use super::Scorer; -use crate::core::SegmentReader; use crate::docset::BUFFER_LEN; +use crate::index::SegmentReader; use crate::query::Explanation; use crate::{DocId, DocSet, Score, TERMINATED}; diff --git a/src/space_usage/mod.rs b/src/space_usage/mod.rs index 84fb074d0..466d67aae 100644 --- a/src/space_usage/mod.rs +++ b/src/space_usage/mod.rs @@ -290,7 +290,7 @@ impl FieldUsage { #[cfg(test)] mod test { - use crate::core::Index; + use crate::index::Index; use crate::schema::{Field, Schema, FAST, INDEXED, STORED, TEXT}; use crate::space_usage::PerFieldSpaceUsage; use crate::{IndexWriter, Term};