* Closes 471
Removing writing_segments in the segment manager as it is now useless.
Removing the target merged segment id as it is useless as well.
* RAII for tracking which segment is in merge.
Closes#471
* fmt
* Using Inventory::default().
* add unit test
* improved test
* added SegmentManager#remove_empty_segments
* update old tests for new behaviour
* cleaner filter for empty segments
* PR adjustments
* rename x in closures
* simplify assert_eq!(vec.len(), 0)
* wait_merging_threads
* acquire searchers
* add comments to test
* rebased on latest master
* harden test
* fix merger#test_merge_multivalued_int_fields_all_deleted test
* Using unrolled u32 VInt and caching Vec s
* cargo fmt
* Exposing a io::Write in the Expull thing
* expull as a writer. clippy + format
* inline the first block
* simplified -if let Some-
* vint reader iterator
* blop
* Using unrolled u32 VInt and caching Vec s
* cargo fmt
* Exposing a io::Write in the Expull thing
* expull as a writer. clippy + format
* inline the first block
* simplified -if let Some-
* vint reader iterator
* Split Collector into an overall Collector and a per-segment SegmentCollector. Precursor to cross-segment parallelism, and as a side benefit cleans up any per-segment fields from being Option<T> to just T.
* Attempt to add MultiCollector back
* working. Chained collector is broken though
* Fix chained collector
* Fix test
* Make Weight Send+Sync for parallelization purposes
* Expose parameters of RangeQuery for external usage
* Removed &mut self
* fixing tests
* Restored TestCollectors
* blop
* multicollector working
* chained collector working
* test broken
* fixing unit test
* blop
* blop
* Blop
* simplifying APi
* blop
* better syntax
* Simplifying top_collector
* refactoring
* blop
* Sync with master
* Added multithread search
* Collector refactoring
* Schema::builder
* CR and rustdoc
* CR comments
* blop
* Added an executor
* Sorted the segment readers in the searcher
* Update searcher.rs
* Fixed unit testst
* changed the place where we have the sort-segment-by-count heuristic
* using crossbeam::channel
* inlining
* Comments about panics propagating
* Added unit test for executor panicking
* Readded default
* Removed Default impl
* Added unit test for executor