package com.sematext.lucene.query.extractor; import java.util.List; import java.util.Set; import org.apache.lucene.index.Term; import org.apache.lucene.search.PhraseQuery; import org.apache.lucene.search.Query; /** * PhraseQueryExtractor. Lower level (leaf) extractor. * @author prog */ public class PhraseQueryExtractor extends QueryExtractor<PhraseQuery> { /** * Default constructor. It only uses super class constructor giving as an argument query class. */ public PhraseQueryExtractor() { super(PhraseQuery.class); } @Override public void extract(final PhraseQuery q, final Iterable<QueryExtractor<? extends Query>> extractors, final List<Query> extractedQueries) throws UnsupportedOperationException { extractedQueries.add(q); } @Override public void extractSubQueriesFields(final PhraseQuery q, final Iterable<QueryExtractor<? extends Query>> extractors, final Set<String> extractedFields) throws UnsupportedOperationException { for (final Term term : q.getTerms()) { extractedFields.add(term.field()); } } }