Пример #1
0
        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 */
        }
Пример #2
0
 public override Search.Query MakeLuceneQueryFieldNoBoost(string fieldName, BasicQueryFactory qf)
 {
     return(SrndBooleanQuery.MakeBooleanQuery( /* subqueries can be individually boosted */
                MakeLuceneSubQueriesField(fieldName, qf), Occur.MUST));
 }