예제 #1
0
            private bool InitSpanQueue(int target)
            {
                queue = new SpanQueue(OuterInstance, OuterInstance.clauses.Count);
                IEnumerator <SpanQuery> i = OuterInstance.clauses.GetEnumerator();

                while (i.MoveNext())
                {
                    Spans spans = i.Current.GetSpans(Context, AcceptDocs, TermContexts);
                    cost += spans.Cost();
                    if (((target == -1) && spans.Next()) || ((target != -1) && spans.SkipTo(target)))
                    {
                        queue.Add(spans);
                    }
                }
                return(queue.Size() != 0);
            }
예제 #2
0
 public override long Cost()
 {
     return(Spans.Cost());
 }
예제 #3
0
 public override long Cost()
 {
     return(includeSpans.Cost());
 }