public NearSpansUnordered(SpanNearQuery query, IndexReader reader) { this.query = query; this.slop = query.GetSlop(); SpanQuery[] clauses = query.GetClauses(); queue = new CellQueue(this, clauses.Length); subSpans = new Spans[clauses.Length]; for (int i = 0; i < clauses.Length; i++) { SpansCell cell = new SpansCell(this, clauses[i].GetSpans(reader), i); ordered.Add(cell); subSpans[i] = cell.spans; } }
public NearSpansOrdered(SpanNearQuery spanNearQuery, IndexReader reader, bool collectPayloads) { InitBlock(); if (spanNearQuery.GetClauses().Length < 2) { throw new System.ArgumentException("Less than 2 clauses: " + spanNearQuery); } this.collectPayloads = collectPayloads; allowedSlop = spanNearQuery.GetSlop(); SpanQuery[] clauses = spanNearQuery.GetClauses(); subSpans = new Spans[clauses.Length]; matchPayload = new System.Collections.Generic.List <byte[]>(); subSpansByDoc = new Spans[clauses.Length]; for (int i = 0; i < clauses.Length; i++) { subSpans[i] = clauses[i].GetSpans(reader); subSpansByDoc[i] = subSpans[i]; // used in toSameDoc() } query = spanNearQuery; // kept for toString() only. }
public NearSpansOrdered(SpanNearQuery spanNearQuery, IndexReader reader, bool collectPayloads) { InitBlock(); if (spanNearQuery.GetClauses().Length < 2) { throw new System.ArgumentException("Less than 2 clauses: " + spanNearQuery); } this.collectPayloads = collectPayloads; allowedSlop = spanNearQuery.GetSlop(); SpanQuery[] clauses = spanNearQuery.GetClauses(); subSpans = new Spans[clauses.Length]; matchPayload = new System.Collections.Generic.List<byte[]>(); subSpansByDoc = new Spans[clauses.Length]; for (int i = 0; i < clauses.Length; i++) { subSpans[i] = clauses[i].GetSpans(reader); subSpansByDoc[i] = subSpans[i]; // used in toSameDoc() } query = spanNearQuery; // kept for toString() only. }