示例#1
0
        public virtual void Test()
        {
            string     name       = "testFile";
            Directory  dir        = NewDirectory();
            FieldInfos fieldInfos = CreateAndWriteFieldInfos(dir, name);

            FieldInfos readIn = ReadFieldInfos(dir, name);

            Assert.IsTrue(fieldInfos.Size() == readIn.Size());
            FieldInfo info = readIn.FieldInfo("textField1");

            Assert.IsTrue(info != null);
            Assert.IsTrue(info.HasVectors() == false);
            Assert.IsTrue(info.OmitsNorms() == false);

            info = readIn.FieldInfo("textField2");
            Assert.IsTrue(info != null);
            Assert.IsTrue(info.OmitsNorms() == false);

            info = readIn.FieldInfo("textField3");
            Assert.IsTrue(info != null);
            Assert.IsTrue(info.HasVectors() == false);
            Assert.IsTrue(info.OmitsNorms() == true);

            info = readIn.FieldInfo("omitNorms");
            Assert.IsTrue(info != null);
            Assert.IsTrue(info.HasVectors() == false);
            Assert.IsTrue(info.OmitsNorms() == true);

            dir.Dispose();
        }
示例#2
0
 internal override void Finish()
 {
     if (FieldInfo.Indexed && !FieldInfo.OmitsNorms())
     {
         if (Consumer == null)
         {
             FieldInfo.NormType = FieldInfo.DocValuesType_e.NUMERIC;
             Consumer           = new NumericDocValuesWriter(FieldInfo, DocState.DocWriter.bytesUsed, false);
         }
         Consumer.AddValue(DocState.DocID, Similarity.ComputeNorm(FieldState));
     }
 }
示例#3
0
 public FieldInfo Add(FieldInfo fi)
 {
     // IMPORTANT - reuse the field number if possible for consistent field numbers across segments
     return(AddOrUpdateInternal(fi.Name, fi.Number, fi.Indexed, fi.HasVectors(), fi.OmitsNorms(), fi.HasPayloads(), fi.FieldIndexOptions, fi.DocValuesType, fi.NormType));
 }
 public override void StringField(FieldInfo fieldInfo, string value)
 {
     FieldType ft = new FieldType(TextField.TYPE_STORED);
     ft.StoreTermVectors = fieldInfo.HasVectors();
     ft.Indexed = fieldInfo.Indexed;
     ft.OmitNorms = fieldInfo.OmitsNorms();
     ft.IndexOptions = fieldInfo.FieldIndexOptions;
     doc.Add(new Field(fieldInfo.Name, value, ft));
 }