/** * Returns the {@link MultiTermQuery}s {@link TermsEnum} * @see MultiTermQuery#getTermsEnum(Terms, AttributeSource) */ protected TermsEnum getTermsEnum(MultiTermQuery query, Terms terms, AttributeSource atts) throws IOException { return query.getTermsEnum(terms, atts); // allow RewriteMethod subclasses to pull a TermsEnum from the MTQ } }
private TermsEnum getTermsEnum(SortedSetDocValues fcsi) throws IOException { return query.getTermsEnum(new Terms() {
/** Convenience method, if no attributes are needed: * This simply passes empty attributes and is equal to: * <code>getTermsEnum(terms, new AttributeSource())</code> */ protected final TermsEnum getTermsEnum(Terms terms) throws IOException { return getTermsEnum(terms, new AttributeSource()); }
@Override public Matches matches(LeafReaderContext context, int doc) throws IOException { final Terms terms = context.reader().terms(query.field); if (terms == null) { return null; } if (terms.hasPositions() == false) { return super.matches(context, doc); } return MatchesUtils.forField(query.field, () -> DisjunctionMatchesIterator.fromTermsEnum(context, doc, query, query.field, query.getTermsEnum(terms))); }
final TermsEnum termsEnum = query.getTermsEnum(terms); assert termsEnum != null;
/** * Returns the {@link MultiTermQuery}s {@link TermsEnum} * @see MultiTermQuery#getTermsEnum(Terms, AttributeSource) */ protected TermsEnum getTermsEnum(MultiTermQuery query, Terms terms, AttributeSource atts) throws IOException { return query.getTermsEnum(terms, atts); // allow RewriteMethod subclasses to pull a TermsEnum from the MTQ } }
/** * Returns the {@link MultiTermQuery}s {@link TermsEnum} * @see MultiTermQuery#getTermsEnum(Terms, AttributeSource) */ protected TermsEnum getTermsEnum(MultiTermQuery query, Terms terms, AttributeSource atts) throws IOException { return query.getTermsEnum(terms, atts); // allow RewriteMethod subclasses to pull a TermsEnum from the MTQ } }
/** * Returns the {@link MultiTermQuery}s {@link TermsEnum} * @see MultiTermQuery#getTermsEnum(Terms, AttributeSource) */ protected TermsEnum getTermsEnum(MultiTermQuery query, Terms terms, AttributeSource atts) throws IOException { return query.getTermsEnum(terms, atts); // allow RewriteMethod subclasses to pull a TermsEnum from the MTQ } }
private TermsEnum getTermsEnum(SortedSetDocValues fcsi) throws IOException { return query.getTermsEnum(new Terms() {
/** Convenience method, if no attributes are needed: * This simply passes empty attributes and is equal to: * <code>getTermsEnum(terms, new AttributeSource())</code> */ protected final TermsEnum getTermsEnum(Terms terms) throws IOException { return getTermsEnum(terms, new AttributeSource()); }
/** Convenience method, if no attributes are needed: * This simply passes empty attributes and is equal to: * <code>getTermsEnum(terms, new AttributeSource())</code> */ protected final TermsEnum getTermsEnum(Terms terms) throws IOException { return getTermsEnum(terms, new AttributeSource()); }
/** Convenience method, if no attributes are needed: * This simply passes empty attributes and is equal to: * <code>getTermsEnum(terms, new AttributeSource())</code> */ protected final TermsEnum getTermsEnum(Terms terms) throws IOException { return getTermsEnum(terms, new AttributeSource()); }
@Override public Matches matches(LeafReaderContext context, int doc) throws IOException { final Terms terms = context.reader().terms(query.field); if (terms == null) { return null; } if (terms.hasPositions() == false) { return super.matches(context, doc); } return MatchesUtils.forField(query.field, () -> DisjunctionMatchesIterator.fromTermsEnum(context, doc, query, query.field, query.getTermsEnum(terms))); }
/** * Returns a DocIdSet with documents that should be permitted in search * results. */ @Override public DocIdSet getDocIdSet(LeafReaderContext context, Bits acceptDocs) throws IOException { final Terms terms = context.reader().terms(query.field); if (terms == null) { // field does not exist return null; } final TermsEnum termsEnum = query.getTermsEnum(terms); assert termsEnum != null; BitDocIdSet.Builder builder = new BitDocIdSet.Builder(context.reader().maxDoc()); PostingsEnum docs = null; while (termsEnum.next() != null) { docs = termsEnum.postings(docs, PostingsEnum.NONE); builder.or(docs); } return BitsFilteredDocIdSet.wrap(builder.build(), acceptDocs); } }
/** * Returns a DocIdSet with documents that should be permitted in search * results. */ @Override public DocIdSet getDocIdSet(LeafReaderContext context, Bits acceptDocs) throws IOException { final Terms terms = context.reader().terms(query.field); if (terms == null) { // field does not exist return null; } final TermsEnum termsEnum = query.getTermsEnum(terms); assert termsEnum != null; BitDocIdSet.Builder builder = new BitDocIdSet.Builder(context.reader().maxDoc()); PostingsEnum docs = null; while (termsEnum.next() != null) { docs = termsEnum.postings(docs, PostingsEnum.NONE); builder.or(docs); } return BitsFilteredDocIdSet.wrap(builder.build(), acceptDocs); } }
final TermsEnum termsEnum = query.getTermsEnum(terms); assert termsEnum != null;
final TermsEnum termsEnum = query.getTermsEnum(terms); assert termsEnum != null;
final TermsEnum termsEnum = query.getTermsEnum(terms); assert termsEnum != null;
@Override protected Bits getMatchingDocs(final LeafReaderContext context) throws IOException { final SortedSetDocValues fcsi = DocValues.getSortedSet(context.reader(), query.field); TermsEnum termsEnum = query.getTermsEnum(new Terms() {
@Override protected Bits getMatchingDocs(final LeafReaderContext context) throws IOException { final SortedSetDocValues fcsi = DocValues.getSortedSet(context.reader(), query.field); TermsEnum termsEnum = query.getTermsEnum(new Terms() {