类org.apache.lucene.index.FilteredTermsEnum源码实例Demo

下面列出了怎么用org.apache.lucene.index.FilteredTermsEnum的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Elasticsearch   文件: OrdinalsBuilder.java
/**
 * A {@link TermsEnum} that iterates only highest resolution geo prefix coded terms.
 *
 * @see #buildFromTerms(TermsEnum)
 */
public static TermsEnum wrapGeoPointTerms(TermsEnum termsEnum) {
    return new FilteredTermsEnum(termsEnum, false) {
        @Override
        protected AcceptStatus accept(BytesRef term) throws IOException {
            // accept only the max resolution terms
            // todo is this necessary?
            return GeoEncodingUtils.getPrefixCodedShift(term) == GeoPointField.PRECISION_STEP * 4 ?
                AcceptStatus.YES : AcceptStatus.END;
        }
    };
}
 
源代码2 项目: Elasticsearch   文件: OrdinalsBuilder.java
/**
 * A {@link TermsEnum} that iterates only full precision prefix coded 64 bit values.
 *
 * @see #buildFromTerms(TermsEnum)
 */
public static TermsEnum wrapNumeric64Bit(TermsEnum termsEnum) {
    return new FilteredTermsEnum(termsEnum, false) {
        @Override
        protected AcceptStatus accept(BytesRef term) throws IOException {
            // we stop accepting terms once we moved across the prefix codec terms - redundant values!
            return NumericUtils.getPrefixCodedLongShift(term) == 0 ? AcceptStatus.YES : AcceptStatus.END;
        }
    };
}
 
源代码3 项目: Elasticsearch   文件: OrdinalsBuilder.java
/**
 * A {@link TermsEnum} that iterates only full precision prefix coded 32 bit values.
 *
 * @see #buildFromTerms(TermsEnum)
 */
public static TermsEnum wrapNumeric32Bit(TermsEnum termsEnum) {
    return new FilteredTermsEnum(termsEnum, false) {

        @Override
        protected AcceptStatus accept(BytesRef term) throws IOException {
            // we stop accepting terms once we moved across the prefix codec terms - redundant values!
            return NumericUtils.getPrefixCodedIntShift(term) == 0 ? AcceptStatus.YES : AcceptStatus.END;
        }
    };
}
 
源代码4 项目: crate   文件: CrateRegexQuery.java
@Override
protected FilteredTermsEnum getTermsEnum(Terms terms, AttributeSource atts) throws IOException {
    return new CrateRegexTermsEnum(terms.iterator(), term, flags);
}
 
 类所在包
 同包方法