示例#1
0
 //
 public /*protected internal*/ override bool SetFreqCurrentDoc()
 {
     if (!more)
     {
         return(false);
     }
     Mono.Lucene.Net.Search.Spans.Spans[] spansArr = new Mono.Lucene.Net.Search.Spans.Spans[1];
     spansArr[0]  = spans;
     payloadScore = 0;
     payloadsSeen = 0;
     GetPayloads(spansArr);
     return(base.SetFreqCurrentDoc());
 }
示例#2
0
        private void  GetPayloads(ICollection <byte[]> payloads, SpanQuery query)
        {
            Mono.Lucene.Net.Search.Spans.Spans spans = query.GetSpans(reader);

            while (spans.Next() == true)
            {
                if (spans.IsPayloadAvailable())
                {
                    //ICollection<byte[]> payload = spans.GetPayload();
                    System.Collections.Generic.ICollection <byte[]> payload = spans.GetPayload();
                    //IEnumerator<byte[]> it = payload.GetEnumerator();
                    foreach (byte[] bytes in payload)
                    {
                        payloads.Add(bytes);
                    }
                }
            }
        }
示例#3
0
        public override SpanFilterResult BitSpans(IndexReader reader)
        {
            OpenBitSet bits = new OpenBitSet(reader.MaxDoc());

            Mono.Lucene.Net.Search.Spans.Spans spans = query.GetSpans(reader);
            System.Collections.IList           tmp   = new System.Collections.ArrayList(20);
            int currentDoc = -1;

            SpanFilterResult.PositionInfo currentInfo = null;
            while (spans.Next())
            {
                int doc = spans.Doc();
                bits.Set(doc);
                if (currentDoc != doc)
                {
                    currentInfo = new SpanFilterResult.PositionInfo(doc);
                    tmp.Add(currentInfo);
                    currentDoc = doc;
                }
                currentInfo.AddPosition(spans.Start(), spans.End());
            }
            return(new SpanFilterResult(bits, tmp));
        }
示例#4
0
 protected internal PayloadNearSpanScorer(PayloadNearQuery enclosingInstance, Mono.Lucene.Net.Search.Spans.Spans spans, Weight weight, Similarity similarity, byte[] norms) : base(spans, weight, similarity, norms)
 {
     InitBlock(enclosingInstance);
     this.spans = spans;
 }
示例#5
0
			//
			public /*protected internal*/ override bool SetFreqCurrentDoc()
			{
				if (!more)
				{
					return false;
				}
				Mono.Lucene.Net.Search.Spans.Spans[] spansArr = new Mono.Lucene.Net.Search.Spans.Spans[1];
				spansArr[0] = spans;
				payloadScore = 0;
				payloadsSeen = 0;
				GetPayloads(spansArr);
				return base.SetFreqCurrentDoc();
			}
示例#6
0
			protected internal PayloadNearSpanScorer(PayloadNearQuery enclosingInstance, Mono.Lucene.Net.Search.Spans.Spans spans, Weight weight, Similarity similarity, byte[] norms):base(spans, weight, similarity, norms)
			{
				InitBlock(enclosingInstance);
				this.spans = spans;
			}