public NearSpansOrdered(SpanNearQuery spanNearQuery, AtomicReaderContext context, IBits acceptDocs, IDictionary <Term, TermContext> termContexts, bool collectPayloads) { // LUCENENET: Added guard clauses for null if (spanNearQuery is null) { throw new ArgumentNullException(nameof(spanNearQuery)); } sorter = new InPlaceMergeSorterAnonymousClass(this); if (spanNearQuery.GetClauses().Length < 2) { throw new ArgumentException("Less than 2 clauses: " + spanNearQuery); } this.collectPayloads = collectPayloads; allowedSlop = spanNearQuery.Slop; SpanQuery[] clauses = spanNearQuery.GetClauses(); subSpans = new Spans[clauses.Length]; matchPayload = new List <byte[]>(); subSpansByDoc = new Spans[clauses.Length]; for (int i = 0; i < clauses.Length; i++) { subSpans[i] = clauses[i].GetSpans(context, acceptDocs, termContexts); subSpansByDoc[i] = subSpans[i]; // used in toSameDoc() } query = spanNearQuery; // kept for toString() only. }
public NearSpansOrdered(SpanNearQuery spanNearQuery, AtomicReaderContext context, Bits acceptDocs, IDictionary <Term, TermContext> termContexts, bool collectPayloads) { sorter = new InPlaceMergeSorterAnonymousInnerClassHelper(this); if (spanNearQuery.Clauses.Length < 2) { throw new System.ArgumentException("Less than 2 clauses: " + spanNearQuery); } this.CollectPayloads = collectPayloads; AllowedSlop = spanNearQuery.Slop; SpanQuery[] clauses = spanNearQuery.Clauses; subSpans = new Spans[clauses.Length]; MatchPayload = new List <byte[]>(); SubSpansByDoc = new Spans[clauses.Length]; for (int i = 0; i < clauses.Length; i++) { subSpans[i] = clauses[i].GetSpans(context, acceptDocs, termContexts); SubSpansByDoc[i] = subSpans[i]; // used in toSameDoc() } Query = spanNearQuery; // kept for toString() only. }
public NearSpansOrdered(SpanNearQuery spanNearQuery, AtomicReaderContext context, Bits acceptDocs, IDictionary<Term, TermContext> termContexts, bool collectPayloads) { sorter = new InPlaceMergeSorterAnonymousInnerClassHelper(this); if (spanNearQuery.Clauses.Length < 2) { throw new System.ArgumentException("Less than 2 clauses: " + spanNearQuery); } this.CollectPayloads = collectPayloads; AllowedSlop = spanNearQuery.Slop; SpanQuery[] clauses = spanNearQuery.Clauses; subSpans = new Spans[clauses.Length]; MatchPayload = new List<byte[]>(); SubSpansByDoc = new Spans[clauses.Length]; for (int i = 0; i < clauses.Length; i++) { subSpans[i] = clauses[i].GetSpans(context, acceptDocs, termContexts); SubSpansByDoc[i] = subSpans[i]; // used in toSameDoc() } Query = spanNearQuery; // kept for toString() only. }