Beispiel #1
0
            /// <returns> An alternative Scorer that uses and provides skipTo(),
            /// and scores documents in document number order.
            /// </returns>
            public override Scorer Scorer(IndexReader reader)
            {
                BooleanScorer2 result = new BooleanScorer2(similarity, Enclosing_Instance.minNrShouldMatch);

                for (int i = 0; i < weights.Count; i++)
                {
                    BooleanClause c         = (BooleanClause)Enclosing_Instance.clauses[i];
                    Weight        w         = (Weight)weights[i];
                    Scorer        subScorer = w.Scorer(reader);
                    if (subScorer != null)
                    {
                        result.Add(subScorer, c.IsRequired(), c.IsProhibited());
                    }
                    else if (c.IsRequired())
                    {
                        return(null);
                    }
                }

                return(result);
            }
            /// <returns> Returns BooleanScorer2 that uses and provides skipTo(),
            /// and scores documents in document number order.
            /// </returns>
            public virtual Scorer Scorer(IndexReader reader)
            {
                BooleanScorer2 result = new BooleanScorer2(similarity, Enclosing_Instance.minNrShouldMatch, Lucene.Net.Search.BooleanQuery.allowDocsOutOfOrder);

                for (int i = 0; i < weights.Count; i++)
                {
                    BooleanClause c         = (BooleanClause)Enclosing_Instance.clauses[i];
                    Weight        w         = (Weight)weights[i];
                    Scorer        subScorer = w.Scorer(reader);
                    if (subScorer != null)
                    {
                        result.Add(subScorer, c.IsRequired(), c.IsProhibited());
                    }
                    else if (c.IsRequired())
                    {
                        return(null);
                    }
                }

                return(result);
            }
            /// <returns> Returns BooleanScorer2 that uses and provides skipTo(),
            /// and scores documents in document number order.
            /// </returns>
            public virtual Scorer Scorer(IndexReader reader)
            {
                BooleanScorer2 result = new BooleanScorer2(similarity, Enclosing_Instance.minNrShouldMatch, Lucene.Net.Search.BooleanQuery.allowDocsOutOfOrder);

                for (int i = 0; i < weights.Count; i++)
                {
                    BooleanClause c = (BooleanClause) Enclosing_Instance.clauses[i];
                    Weight w = (Weight) weights[i];
                    Scorer subScorer = w.Scorer(reader);
                    if (subScorer != null)
                        result.Add(subScorer, c.IsRequired(), c.IsProhibited());
                    else if (c.IsRequired())
                        return null;
                }

                return result;
            }
Beispiel #4
0
			/// <returns> An alternative Scorer that uses and provides skipTo(),
			/// and scores documents in document number order.
			/// </returns>
			public override Scorer Scorer(IndexReader reader)
			{
				BooleanScorer2 result = new BooleanScorer2(similarity, Enclosing_Instance.minNrShouldMatch);
				
				for (int i = 0; i < weights.Count; i++)
				{
					BooleanClause c = (BooleanClause) Enclosing_Instance.clauses[i];
					Weight w = (Weight) weights[i];
					Scorer subScorer = w.Scorer(reader);
					if (subScorer != null)
						result.Add(subScorer, c.IsRequired(), c.IsProhibited());
					else if (c.IsRequired())
						return null;
				}
				
				return result;
			}