Use a more concise iteration style
- Id
- 3cc441b5a03fce42dac7204007df9d8596d74a95
- Author
- Caio
- Commit time
- 2020-03-22T10:44:06+01:00
Modified tique/src/topterms.rs
pub fn new(index: &Index, fields: Vec<Field>) -> Result<Self> {
let mut field_tokenizers = Vec::new();
- for field in fields.into_iter() {
+ for field in fields {
if field_is_valid(&index.schema(), field) {
let tok = index.tokenizer_for_field(field)?;
field_tokenizers.push((field, tok));
let mut keywords = DescendingTopK::new(limit);
- for (field, tokenizer) in self.field_tokenizers.iter() {
- let termfreq = termfreq(&input, *field, tokenizer);
-
- for (term, tf) in termfreq.into_iter() {
+ for (field, tokenizer) in &self.field_tokenizers {
+ for (term, tf) in termfreq(&input, *field, tokenizer) {
let doc_freq = searcher.doc_freq(&term);
if doc_freq > 0 && acceptor.accept(&term, tf, doc_freq, num_docs) {
let mut keywords = DescendingTopK::new(limit);
- for (field, _tokenizer) in self.field_tokenizers.iter() {
+ for (field, _tokenizer) in &self.field_tokenizers {
termfreq_for_doc(&searcher, *field, addr, |term, term_freq| {
let doc_freq = searcher.doc_freq(&term);
if acceptor.accept(&term, term_freq, doc_freq, num_docs) {
let mut clauses: Vec<(Occur, Box<dyn Query>)> = Vec::new();
- for (term, score) in self.0.into_iter() {
+ for (term, score) in self.0 {
let boost = boost_factor * (score / max_score);
let tq = Box::new(TermQuery::new(term, IndexRecordOption::WithFreqs));
clauses.push((Occur::Should, Box::new(BoostQuery::new(tq, boost))));
Modified tique/src/queryparser/parser.rs
state: Vec::with_capacity(fields.len()),
};
- for field in fields.into_iter() {
+ for field in fields {
parser.state.push((
Some(schema.get_field_name(field).to_owned()),
None,
/// up searching for "foo" in both fields, but "bar" only on `b`.
pub fn set_default_fields(&mut self, fields: Vec<Field>) {
let mut indices = Vec::with_capacity(fields.len());
- for field in fields.into_iter() {
+ for field in fields {
if let Some(idx) = self.position_by_field(field) {
indices.push(idx);
}
.filter(|(queries, _)| !queries.is_empty())
.for_each(|(queries, raw)| {
if raw.occur == Occur::MustNot {
- for query in queries.into_iter() {
+ for query in queries {
num_must_not += 1;
clauses.push((Occur::MustNot, query));
}