/// <summary>Construct a SpanNearQuery. Matches spans matching a span from each /// clause, with up to <code>slop</code> total unmatched positions between /// them. * When <code>inOrder</code> is true, the spans from each clause /// must be * ordered as in <code>clauses</code>. /// </summary> public SpanNearQuery(SpanQuery[] clauses, int slop, bool inOrder) { // copy clauses array into an ArrayList this.clauses = new System.Collections.ArrayList(clauses.Length); for (int i = 0; i < clauses.Length; i++) { SpanQuery clause = clauses[i]; if (i == 0) { // check Field field = clause.GetField(); } else if (!clause.GetField().Equals(field)) { throw new System.ArgumentException("Clauses must have same Field."); } this.clauses.Add(clause); } this.slop = slop; this.inOrder = inOrder; }
/// <summary>Construct a SpanNotQuery matching spans from <code>include</code> which /// have no overlap with spans from <code>exclude</code>. /// </summary> public SpanNotQuery(SpanQuery include, SpanQuery exclude) { this.include = include; this.exclude = exclude; if (!include.GetField().Equals(exclude.GetField())) throw new System.ArgumentException("Clauses must have same Field."); }
public SpanWeight(SpanQuery query, Searcher searcher) { this.searcher = searcher; this.query = query; this.terms = query.GetTerms(); }
/// <summary>Construct a SpanFirstQuery matching spans in <code>match</code> whose end /// position is less than or equal to <code>end</code>. /// </summary> public SpanFirstQuery(SpanQuery match, int end) { this.match = match; this.end = end; }