示例#1
0
            public override DocsAndPositionsEnum DocsAndPositions(IBits liveDocs, DocsAndPositionsEnum reuse, DocsAndPositionsFlags flags)
            {
                if (fieldInfo.IndexOptions != IndexOptions.DOCS_AND_FREQS_AND_POSITIONS)
                {
                    return(null);
                }

                if (reuse is null || !(reuse is PreDocsAndPositionsEnum docsPosEnum) || docsPosEnum.FreqStream != outerInstance.FreqStream)
                {
                    docsPosEnum = new PreDocsAndPositionsEnum(outerInstance);
                }

                return(docsPosEnum.Reset(termEnum, liveDocs));
            }
示例#2
0
            public override DocsAndPositionsEnum DocsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags)
            {
                PreDocsAndPositionsEnum docsPosEnum;

                if (fieldInfo.FieldIndexOptions != FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS)
                {
                    return(null);
                }
                else if (reuse == null || !(reuse is PreDocsAndPositionsEnum))
                {
                    docsPosEnum = new PreDocsAndPositionsEnum(OuterInstance);
                }
                else
                {
                    docsPosEnum = (PreDocsAndPositionsEnum)reuse;
                    if (docsPosEnum.FreqStream != OuterInstance.FreqStream)
                    {
                        docsPosEnum = new PreDocsAndPositionsEnum(OuterInstance);
                    }
                }
                return(docsPosEnum.Reset(TermEnum, liveDocs));
            }
示例#3
0
 public override DocsAndPositionsEnum DocsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags)
 {
     PreDocsAndPositionsEnum docsPosEnum;
     if (fieldInfo.FieldIndexOptions != FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS)
     {
         return null;
     }
     else if (reuse == null || !(reuse is PreDocsAndPositionsEnum))
     {
         docsPosEnum = new PreDocsAndPositionsEnum(OuterInstance);
     }
     else
     {
         docsPosEnum = (PreDocsAndPositionsEnum)reuse;
         if (docsPosEnum.FreqStream != OuterInstance.FreqStream)
         {
             docsPosEnum = new PreDocsAndPositionsEnum(OuterInstance);
         }
     }
     return docsPosEnum.Reset(TermEnum, liveDocs);
 }