public override Search.Query Rewrite(IndexReader reader) { var luceneSubQueries = new List <Search.Query>(); m_srndQuery.VisitMatchingTerms(reader, m_fieldName, new SimpleTermRewriteMatchingTermVisitor(luceneSubQueries, m_qf)); return((luceneSubQueries.Count == 0) ? SrndQuery.TheEmptyLcnQuery : (luceneSubQueries.Count == 1) ? luceneSubQueries[0] : SrndBooleanQuery.MakeBooleanQuery( /* luceneSubQueries all have default weight */ luceneSubQueries, Occur.SHOULD)); /* OR the subquery terms */ }
public override Search.Query MakeLuceneQueryFieldNoBoost(string fieldName, BasicQueryFactory qf) { return(SrndBooleanQuery.MakeBooleanQuery( /* subqueries can be individually boosted */ MakeLuceneSubQueriesField(fieldName, qf), Occur.MUST)); }