Lucene.Net.Search.MultiTermQuery.ScoringBooleanQueryRewrite.Rewrite C# (CSharp) Method

Rewrite() public method

public Rewrite ( Lucene.Net.Index.IndexReader reader, MultiTermQuery query ) : Query
reader Lucene.Net.Index.IndexReader
query MultiTermQuery
return Query
			public override Query Rewrite(IndexReader reader, MultiTermQuery query)
			{
				
				FilteredTermEnum enumerator = query.GetEnum(reader);
				BooleanQuery result = new BooleanQuery(true);
				int count = 0;
				try
				{
					do 
					{
						Term t = enumerator.Term;
						if (t != null)
						{
							TermQuery tq = new TermQuery(t); // found a match
							tq.Boost = query.Boost * enumerator.Difference(); // set the boost
							result.Add(tq, Occur.SHOULD); // add to query
							count++;
						}
					}
					while (enumerator.Next());
				}
				finally
				{
					enumerator.Close();
				}
				query.IncTotalNumberOfTerms(count);
				return result;
			}
			
MultiTermQuery.ScoringBooleanQueryRewrite