cargo fmt

This commit is contained in:
Paul Masurel
2018-05-18 10:08:05 +09:00
parent 72acad0921
commit bc69dab822
3 changed files with 48 additions and 44 deletions

View File

@@ -414,8 +414,8 @@ impl<'a> Iterator for SegmentReaderAliveDocsIterator<'a> {
#[cfg(test)]
mod test {
use core::Index;
use schema::{SchemaBuilder, Term, STORED, TEXT};
use DocId;
use schema::{TEXT, STORED, Term, SchemaBuilder};
#[test]
fn test_alive_docs_iterator() {
@@ -448,6 +448,6 @@ mod test {
index.load_searchers().unwrap();
let searcher = index.searcher();
let docs: Vec<DocId> = searcher.segment_reader(0).doc_ids_alive().collect();
assert_eq!(vec![0u32, 2u32], docs);
assert_eq!(vec![0u32, 2u32], docs);
}
}

View File

@@ -84,7 +84,8 @@ pub trait QueryClone {
}
impl<T> QueryClone for T
where T: 'static + Query + Clone
where
T: 'static + Query + Clone,
{
fn box_clone(&self) -> Box<Query> {
Box::new(self.clone())
@@ -94,4 +95,4 @@ where T: 'static + Query + Clone
#[allow(missing_docs)]
mod downcast_impl {
downcast!(super::Query);
}
}

View File

@@ -25,73 +25,76 @@ type StopWordHashSet = HashSet<String, StopWordHasher>;
/// `TokenFilter` that removes stop words from a token stream
#[derive(Clone)]
pub struct StopWordFilter {
words: StopWordHashSet,
words: StopWordHashSet,
}
impl StopWordFilter {
/// Creates a `StopWordFilter` given a list of words to remove
pub fn remove(words: Vec<String>) -> StopWordFilter {
let mut set = StopWordHashSet::default();
/// Creates a `StopWordFilter` given a list of words to remove
pub fn remove(words: Vec<String>) -> StopWordFilter {
let mut set = StopWordHashSet::default();
for word in words {
set.insert(word);
for word in words {
set.insert(word);
}
StopWordFilter { words: set }
}
StopWordFilter { words: set }
}
}
pub struct StopWordFilterStream<TailTokenStream>
where
TailTokenStream: TokenStream,
TailTokenStream: TokenStream,
{
words: StopWordHashSet,
tail: TailTokenStream,
words: StopWordHashSet,
tail: TailTokenStream,
}
impl<TailTokenStream> TokenFilter<TailTokenStream> for StopWordFilter
where
TailTokenStream: TokenStream,
TailTokenStream: TokenStream,
{
type ResultTokenStream = StopWordFilterStream<TailTokenStream>;
type ResultTokenStream = StopWordFilterStream<TailTokenStream>;
fn transform(&self, token_stream: TailTokenStream) -> Self::ResultTokenStream {
StopWordFilterStream::wrap(self.words.clone(), token_stream)
}
fn transform(&self, token_stream: TailTokenStream) -> Self::ResultTokenStream {
StopWordFilterStream::wrap(self.words.clone(), token_stream)
}
}
impl<TailTokenStream> StopWordFilterStream<TailTokenStream>
where
TailTokenStream: TokenStream,
TailTokenStream: TokenStream,
{
fn predicate(&self, token: &Token) -> bool {
!self.words.contains(&token.text)
}
fn predicate(&self, token: &Token) -> bool {
!self.words.contains(&token.text)
}
fn wrap(words: StopWordHashSet, tail: TailTokenStream) -> StopWordFilterStream<TailTokenStream> {
StopWordFilterStream { words, tail }
}
fn wrap(
words: StopWordHashSet,
tail: TailTokenStream,
) -> StopWordFilterStream<TailTokenStream> {
StopWordFilterStream { words, tail }
}
}
impl<TailTokenStream> TokenStream for StopWordFilterStream<TailTokenStream>
where
TailTokenStream: TokenStream,
TailTokenStream: TokenStream,
{
fn token(&self) -> &Token {
self.tail.token()
}
fn token_mut(&mut self) -> &mut Token {
self.tail.token_mut()
}
fn advance(&mut self) -> bool {
while self.tail.advance() {
if self.predicate(self.tail.token()) {
return true;
}
fn token(&self) -> &Token {
self.tail.token()
}
false
}
fn token_mut(&mut self) -> &mut Token {
self.tail.token_mut()
}
fn advance(&mut self) -> bool {
while self.tail.advance() {
if self.predicate(self.tail.token()) {
return true;
}
}
false
}
}