Esempio n. 1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public FSTTermsReader(index.SegmentReadState state, codecs.PostingsReaderBase postingsReader) throws java.io.IOException
        public FSTTermsReader(SegmentReadState state, PostingsReaderBase postingsReader)
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final String termsFileName = index.IndexFileNames.segmentFileName(state.segmentInfo.name, state.segmentSuffix, FSTTermsWriter.TERMS_EXTENSION);
            string termsFileName = IndexFileNames.segmentFileName(state.segmentInfo.name, state.segmentSuffix, FSTTermsWriter.TERMS_EXTENSION);

            this.postingsReader = postingsReader;
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final store.IndexInput in = state.directory.openInput(termsFileName, state.context);
            IndexInput @in = state.directory.openInput(termsFileName, state.context);

            bool success = false;

            try
            {
                version = readHeader(@in);
                if (version >= FSTTermsWriter.TERMS_VERSION_CHECKSUM)
                {
                    CodecUtil.checksumEntireFile(@in);
                }
                this.postingsReader.init(@in);
                seekDir(@in);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final index.FieldInfos fieldInfos = state.fieldInfos;
                FieldInfos fieldInfos = state.fieldInfos;
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int numFields = in.readVInt();
                int numFields = @in.readVInt();
                for (int i = 0; i < numFields; i++)
                {
                    int         fieldNumber      = @in.readVInt();
                    FieldInfo   fieldInfo        = fieldInfos.fieldInfo(fieldNumber);
                    long        numTerms         = @in.readVLong();
                    long        sumTotalTermFreq = fieldInfo.IndexOptions == IndexOptions.DOCS_ONLY ? -1 : @in.readVLong();
                    long        sumDocFreq       = @in.readVLong();
                    int         docCount         = @in.readVInt();
                    int         longsSize        = @in.readVInt();
                    TermsReader current          = new TermsReader(this, fieldInfo, @in, numTerms, sumTotalTermFreq, sumDocFreq, docCount, longsSize);
                    TermsReader previous         = fields[fieldInfo.name] = current;
                    checkFieldSummary(state.segmentInfo, @in, current, previous);
                }
                success = true;
            }
            finally
            {
                if (success)
                {
                    IOUtils.close(@in);
                }
                else
                {
                    IOUtils.closeWhileHandlingException(@in);
                }
            }
        }
Esempio n. 2
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: @Override public org.apache.lucene.index.Terms terms(final String field) throws java.io.IOException
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET:
            public override Terms terms(string field)
            {
                Terms terms = @in.terms(field);

                if (terms == null)
                {
                    return(null);
                }
                else
                {
                    return(new SortingTerms(terms, infos.fieldInfo(field).IndexOptions, docMap));
                }
            }
Esempio n. 3
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public TermsReader(index.FieldInfos fieldInfos, store.IndexInput in, int termCount) throws java.io.IOException
            public TermsReader(FieldInfos fieldInfos, IndexInput @in, int termCount)
            {
                this.termCount = termCount;
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int fieldNumber = in.readVInt();
                int fieldNumber = @in.readVInt();

                field = fieldInfos.fieldInfo(fieldNumber);
                if (field.IndexOptions != IndexOptions.DOCS_ONLY)
                {
                    sumTotalTermFreq = @in.readVLong();
                }
                else
                {
                    sumTotalTermFreq = -1;
                }
                sumDocFreq = @in.readVLong();
                docCount   = @in.readVInt();

                fst = new FST <>(@in, outputs);
            }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public TermsReader(index.FieldInfos fieldInfos, store.IndexInput in, int termCount) throws java.io.IOException
		public TermsReader(FieldInfos fieldInfos, IndexInput @in, int termCount)
		{
		  this.termCount = termCount;
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int fieldNumber = in.readVInt();
		  int fieldNumber = @in.readVInt();
		  field = fieldInfos.fieldInfo(fieldNumber);
		  if (field.IndexOptions != IndexOptions.DOCS_ONLY)
		  {
			sumTotalTermFreq = @in.readVLong();
		  }
		  else
		  {
			sumTotalTermFreq = -1;
		  }
		  sumDocFreq = @in.readVLong();
		  docCount = @in.readVInt();

		  fst = new FST<>(@in, outputs);
		}
Esempio n. 5
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: @Override public void visitDocument(int n, index.StoredFieldVisitor visitor) throws java.io.IOException
        public override void visitDocument(int n, StoredFieldVisitor visitor)
        {
            @in.seek(offsets[n]);
            readLine();
            Debug.Assert(StringHelper.StartsWith(scratch, NUM));
            int numFields = parseIntAt(NUM.length);

            for (int i = 0; i < numFields; i++)
            {
                readLine();
                Debug.Assert(StringHelper.StartsWith(scratch, FIELD));
                int       fieldNumber = parseIntAt(FIELD.length);
                FieldInfo fieldInfo   = fieldInfos.fieldInfo(fieldNumber);
                readLine();
                Debug.Assert(StringHelper.StartsWith(scratch, NAME));
                readLine();
                Debug.Assert(StringHelper.StartsWith(scratch, TYPE));

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final util.BytesRef type;
                BytesRef type;
                if (equalsAt(TYPE_STRING, scratch, TYPE.length))
                {
                    type = TYPE_STRING;
                }
                else if (equalsAt(TYPE_BINARY, scratch, TYPE.length))
                {
                    type = TYPE_BINARY;
                }
                else if (equalsAt(TYPE_INT, scratch, TYPE.length))
                {
                    type = TYPE_INT;
                }
                else if (equalsAt(TYPE_LONG, scratch, TYPE.length))
                {
                    type = TYPE_LONG;
                }
                else if (equalsAt(TYPE_FLOAT, scratch, TYPE.length))
                {
                    type = TYPE_FLOAT;
                }
                else if (equalsAt(TYPE_DOUBLE, scratch, TYPE.length))
                {
                    type = TYPE_DOUBLE;
                }
                else
                {
                    throw new Exception("unknown field type");
                }

                switch (visitor.needsField(fieldInfo))
                {
                case YES:
                    readField(type, fieldInfo, visitor);
                    break;

                case NO:
                    readLine();
                    Debug.Assert(StringHelper.StartsWith(scratch, VALUE));
                    break;

                case STOP:
                    return;
                }
            }
        }