Example #1
0
 public override BytesRef Next()
 {
     if (seekPending) // previously positioned, but termOutputs not fetched
     {
         seekPending = false;
         SeekStatus status = SeekCeil(term);
         Debug.Assert(status == SeekStatus.FOUND); // must positioned on valid term
     }
     UpdateEnum(fstEnum.Next());
     return(term);
 }
Example #2
0
 public override BytesRef Next()
 {
     Lucene.Net.Util.Fst.BytesRefFSTEnum <long> .InputOutput <long> io = @in.Next();
     if (io == null)
     {
         return(null);
     }
     else
     {
         return(io.Input);
     }
 }
Example #3
0
 public override BytesRef Next()
 {
     //System.out.println("te.next");
     current = fstEnum.Next();
     if (current == null)
     {
         //System.out.println("  END");
         return(null);
     }
     didDecode = false;
     //System.out.println("  term=" + field.name + ":" + current.input.utf8ToString());
     return(current.Input);
 }
Example #4
0
            public override BytesRef Next()
            {
                var io = @in.Next();

                if (io == null)
                {
                    return(null);
                }
                else
                {
                    return(io.Input);
                }
            }
            public override BytesRef Next()
            {
                var result = _fstEnum.Next();

                if (result == null)
                {
                    return(null);
                }

                var pair1 = result.Output;
                var pair2 = pair1.Output2;

                _docsStart     = pair1.Output1.Value;
                _docFreq       = (int)pair2.Output1;
                _totalTermFreq = pair2.Output2.Value;
                return(result.Input);
            }
Example #6
0
            public override BytesRef Next()
            {
                //if (Debugging.AssertsEnabled) Debugging.Assert(!ended); // LUCENENET: Ended field is never set, so this can never fail
                var result = _fstEnum.Next();

                if (result == null)
                {
                    return(null);
                }

                var pair1 = result.Output;
                var pair2 = pair1.Output2;

                _docsStart     = pair1.Output1.Value;
                _docFreq       = (int)pair2.Output1;
                _totalTermFreq = pair2.Output2.Value;
                return(result.Input);
            }
Example #7
0
            private void LoadTermsIndex()
            {
                if (Fst != null)
                {
                    return;
                }

                var clone = (IndexInput)_vgtir._input.Clone();

                clone.Seek(_indexStart);
                Fst = new FST <long?>(clone, _vgtir._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 (_vgtir._indexDivisor > 1)
                {
                    // subsample
                    var scratchIntsRef = new IntsRef();
                    var outputs        = PositiveIntOutputs.Singleton;
                    var builder        = new Builder <long?>(FST.INPUT_TYPE.BYTE1, outputs);
                    var fstEnum        = new BytesRefFSTEnum <long?>(Fst);
                    var count          = _vgtir._indexDivisor;

                    BytesRefFSTEnum.InputOutput <long?> result;
                    while ((result = fstEnum.Next()) != null)
                    {
                        if (count == _vgtir._indexDivisor)
                        {
                            builder.Add(Util.ToIntsRef(result.Input, scratchIntsRef), result.Output);
                            count = 0;
                        }
                        count++;
                    }
                    Fst = builder.Finish();
                }
            }
Example #8
0
 public override BytesRef Next()
 {
     Debug.Assert(!ended);
     BytesRefFSTEnum.InputOutput <PairOutputs.Pair <long?, PairOutputs.Pair <long?, long?> > > result =
         fstEnum.Next();
     if (result != null)
     {
         PairOutputs.Pair <long?, PairOutputs.Pair <long?, long?> > pair1 = result.output;
         PairOutputs.Pair <long?, long?> pair2 = pair1.output2;
         docsStart             = pair1.output1;
         docFreq_Renamed       = (int)pair2.output1;
         totalTermFreq_Renamed = pair2.output2;
         return(result.input);
     }
     else
     {
         return(null);
     }
 }
 public override long Next()
 {
     //System.out.println("VGR: next field=" + fieldInfo.name);
     current = fstEnum.Next();
     if (current == null)
     {
         //System.out.println("  eof");
         return(-1);
     }
     else
     {
         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
         }
     }
 }
            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 ((result = fstEnum.Next()) != null)
                        {
                            if (count == outerInstance.indexDivisor)
                            {
                                builder.Add(Util.Fst.Util.ToInt32sRef(result.Input, scratchIntsRef), result.Output);
                                count = 0;
                            }
                            count++;
                        }
                        fst = builder.Finish();
                    }
                }
            }
            private void LoadTermsIndex()
            {
                if (Fst != null) return;

                var clone = (IndexInput) _vgtir._input.Clone();
                clone.Seek(_indexStart);
                Fst = new FST<long?>(clone, _vgtir._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 (_vgtir._indexDivisor > 1)
                {
                    // subsample
                    var scratchIntsRef = new IntsRef();
                    var outputs = PositiveIntOutputs.Singleton;
                    var builder = new Builder<long?>(FST.INPUT_TYPE.BYTE1, outputs);
                    var fstEnum = new BytesRefFSTEnum<long?>(Fst);
                    var count = _vgtir._indexDivisor;
                        
                    BytesRefFSTEnum<long?>.InputOutput<long?> result;
                    while ((result = fstEnum.Next()) != null)
                    {
                        if (count == _vgtir._indexDivisor)
                        {
                            builder.Add(Util.ToIntsRef(result.Input, scratchIntsRef), result.Output);
                            count = 0;
                        }
                        count++;
                    }
                    Fst = builder.Finish();
                }
            }
Example #12
0
            public override BytesRef Next()
            {
                var io = input.Next();

                return(io == null ? null : io.Input);
            }
            private void loadTermsIndex()
            {
                if (Fst == null)
                {
                    IndexInput clone = input.Clone();
                    clone.Seek(indexStart);
                    Fst = new FST<>(clone, fstOutputs);
                    clone.Close();

                    /*
        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 (indexDivisor > 1)
                    {
                        // subsample
                        IntsRef scratchIntsRef = new IntsRef();
                        PositiveIntOutputs outputs = PositiveIntOutputs.GetSingleton();
                        Builder<long> builder = new Builder<long>(FST.INPUT_TYPE.BYTE1, outputs);
                        BytesRefFSTEnum<long> fstEnum = new BytesRefFSTEnum<long>(fst);
                        BytesRefFSTEnum.InputOutput<long> result;
                        int count = indexDivisor;
                        while ((result = fstEnum.Next()) != null)
                        {
                            if (count == indexDivisor)
                            {
                                builder.Add(Util.ToIntsRef(result.Input, scratchIntsRef), result.Output);
                                count = 0;
                            }
                            count++;
                        }
                        Fst = builder.Finish();
                    }
                }
            }