public override int SetField(FieldInfo fieldInfo)
 {
     FieldInfo.IndexOptions?indexOptions = fieldInfo.FieldIndexOptions;
     FieldHasFreqs     = indexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS;
     FieldHasPositions = indexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
     FieldHasOffsets   = indexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS;
     FieldHasPayloads  = fieldInfo.HasPayloads();
     SkipWriter.SetField(FieldHasPositions, FieldHasOffsets, FieldHasPayloads);
     LastState = EmptyState;
     if (FieldHasPositions)
     {
         if (FieldHasPayloads || FieldHasOffsets)
         {
             return(3); // doc + pos + pay FP
         }
         else
         {
             return(2); // doc + pos FP
         }
     }
     else
     {
         return(1); // doc FP
     }
 }
 public override int SetField(FieldInfo fieldInfo)
 {
     FieldInfo.IndexOptions? indexOptions = fieldInfo.FieldIndexOptions;
     FieldHasFreqs = indexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS;
     FieldHasPositions = indexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
     FieldHasOffsets = indexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS;
     FieldHasPayloads = fieldInfo.HasPayloads();
     SkipWriter.SetField(FieldHasPositions, FieldHasOffsets, FieldHasPayloads);
     LastState = EmptyState;
     if (FieldHasPositions)
     {
         if (FieldHasPayloads || FieldHasOffsets)
         {
             return 3; // doc + pos + pay FP
         }
         else
         {
             return 2; // doc + pos FP
         }
     }
     else
     {
         return 1; // doc FP
     }
 }
示例#3
0
 public override bool HasPayloads()
 {
     return(_fieldInfo.HasPayloads());
 }