Beispiel #1
0
                public override bool MoveNext()
                {
                    if (seekPending) // previously positioned, but termOutputs not fetched
                    {
                        seekPending = false;
                        var status = SeekCeil(term);
                        if (Debugging.AssertsEnabled)
                        {
                            Debugging.Assert(status == SeekStatus.FOUND);                           // must positioned on valid term
                        }
                    }
                    // LUCENENET specific - extracted logic of UpdateEnum() so we can eliminate the null check
                    var moved = fstEnum.MoveNext();

                    if (moved)
                    {
                        var pair = fstEnum.Current;
                        term = pair.Input;
                        ord  = pair.Output.Value;
                        DecodeStats();
                    }
                    else
                    {
                        term = null;
                    }
                    decoded     = false;
                    seekPending = false;
                    return(moved);
                }
Beispiel #2
0
 public override bool MoveNext()
 {
     if (input.MoveNext())
     {
         return(input.Current.Input != null);
     }
     return(false);
 }
 public override bool MoveNext()
 {
     //System.out.println("te.next");
     if (fstEnum.MoveNext())
     {
         current   = fstEnum.Current;
         didDecode = false;
         //System.out.println("  term=" + field.name + ":" + current.input.utf8ToString());
         return(true);
     }
     current = null;
     //System.out.println("  END");
     return(false);
 }
Beispiel #4
0
 public override long Next()
 {
     //System.out.println("VGR: next field=" + fieldInfo.name);
     if (!fstEnum.MoveNext())
     {
         current = null;
         //System.out.println("  eof");
         return(-1);
     }
     else
     {
         current = fstEnum.Current;
         return(current.Output);
     }
 }
Beispiel #5
0
            public override bool MoveNext()
            {
                //if (Debugging.AssertsEnabled) Debugging.Assert(!ended); // LUCENENET: Ended field is never set, so this can never fail
                if (!_fstEnum.MoveNext())
                {
                    return(false);
                }

                var pair1 = _fstEnum.Current.Output;
                var pair2 = pair1.Output2;

                _docsStart     = pair1.Output1.Value;
                _docFreq       = (int)pair2.Output1;
                _totalTermFreq = pair2.Output2.Value;
                return(true);
            }
Beispiel #6
0
 public override bool MoveNext()
 {
     //if (Debugging.AssertsEnabled) Debugging.Assert(!ended); // LUCENENET: Ended field is never set, so this can never fail
     if (fstEnum.MoveNext())
     {
         var pair1 = fstEnum.Current.Output;
         var pair2 = pair1.Output2;
         docsStart     = pair1.Output1;
         docFreq       = (int)pair2.Output1;
         totalTermFreq = pair2.Output2;
         return(fstEnum.Current.Input != null);
     }
     else
     {
         return(false);
     }
 }
Beispiel #7
0
            private void LoadTermsIndex()
            {
                if (fst == null)
                {
                    using (IndexInput clone = (IndexInput)outerInstance.input.Clone())
                    {
                        clone.Seek(indexStart);
                        fst = new FST <long?>(clone, outerInstance.fstOutputs);
                    } // clone.Dispose();

                    /*
                     * final String dotFileName = segment + "_" + fieldInfo.name + ".dot";
                     * Writer w = new OutputStreamWriter(new FileOutputStream(dotFileName));
                     * Util.toDot(fst, w, false, false);
                     * System.out.println("FST INDEX: SAVED to " + dotFileName);
                     * w.close();
                     */

                    if (outerInstance.indexDivisor > 1)
                    {
                        // subsample
                        Int32sRef                           scratchIntsRef = new Int32sRef();
                        PositiveInt32Outputs                outputs        = PositiveInt32Outputs.Singleton;
                        Builder <long?>                     builder        = new Builder <long?>(FST.INPUT_TYPE.BYTE1, outputs);
                        BytesRefFSTEnum <long?>             fstEnum        = new BytesRefFSTEnum <long?>(fst);
                        BytesRefFSTEnum.InputOutput <long?> result;
                        int count = outerInstance.indexDivisor;
                        while (fstEnum.MoveNext())
                        {
                            result = fstEnum.Current;
                            if (count == outerInstance.indexDivisor)
                            {
                                builder.Add(Util.Fst.Util.ToInt32sRef(result.Input, scratchIntsRef), result.Output);
                                count = 0;
                            }
                            count++;
                        }
                        fst = builder.Finish();
                    }
                }
            }
Beispiel #8
0
 public override long Next()
 {
     //System.out.println("VGR: next field=" + fieldInfo.name);
     if (!fstEnum.MoveNext())
     {
         current = null;
         //System.out.println("  eof");
         return(-1);
     }
     else
     {
         current = fstEnum.Current;
         if (current.Output.HasValue)
         {
             return(current.Output.Value);
         }
         else
         {
             throw new NullReferenceException("_current.Output is null"); // LUCENENET NOTE: NullReferenceException would be thrown in Java, so doing it here
         }
     }
 }
 public override bool MoveNext() => @in.MoveNext();
Beispiel #10
0
 public override bool MoveNext()
 {
     return(input.MoveNext());
 }