// Currently, this instance is re-used across fields, so
        // our parent calls setField whenever the field changes
        public override int SetField(FieldInfo fieldInfo)
        {
            //System.out.println("SPW: setField");
            /*
            if (BlockTreeTermsWriter.DEBUG && fieldInfo.Name.equals("id")) {
              DEBUG = true;
            } else {
              DEBUG = false;
            }
            */
            this.FieldInfo = fieldInfo;
            IndexOptions = fieldInfo.FieldIndexOptions;

            StoreOffsets = IndexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS;
            StorePayloads = fieldInfo.HasPayloads();
            LastState = EmptyState;
            //System.out.println("  set init blockFreqStart=" + freqStart);
            //System.out.println("  set init blockProxStart=" + proxStart);
            return 0;
        }
Example #2
0
 internal virtual void Seek(TermInfo ti, Term term)
 {
     Count = 0;
     FieldInfo fi = FieldInfos.FieldInfo(term.Field);
     this.IndexOptions = (fi != null) ? fi.FieldIndexOptions : FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
     CurrentFieldStoresPayloads = (fi != null) && fi.HasPayloads();
     if (ti == null)
     {
         Df = 0;
     }
     else
     {
         Df = ti.DocFreq;
         Doc_Renamed = 0;
         FreqBasePointer = ti.FreqPointer;
         ProxBasePointer = ti.ProxPointer;
         SkipPointer = FreqBasePointer + ti.SkipOffset;
         FreqStream.Seek(FreqBasePointer);
         HaveSkipped = false;
     }
 }