diff options
Diffstat (limited to 'core/src/main/java/org/elasticsearch/index/percolator/ExtractQueryTermsService.java')
-rw-r--r-- | core/src/main/java/org/elasticsearch/index/percolator/ExtractQueryTermsService.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/src/main/java/org/elasticsearch/index/percolator/ExtractQueryTermsService.java b/core/src/main/java/org/elasticsearch/index/percolator/ExtractQueryTermsService.java index a8669c98cd..3218837261 100644 --- a/core/src/main/java/org/elasticsearch/index/percolator/ExtractQueryTermsService.java +++ b/core/src/main/java/org/elasticsearch/index/percolator/ExtractQueryTermsService.java @@ -27,6 +27,8 @@ import org.apache.lucene.index.PrefixCodedTerms; import org.apache.lucene.index.Term; import org.apache.lucene.index.Terms; import org.apache.lucene.index.TermsEnum; +import org.apache.lucene.queries.BlendedTermQuery; +import org.apache.lucene.queries.CommonTermsQuery; import org.apache.lucene.queries.TermsQuery; import org.apache.lucene.search.BooleanClause; import org.apache.lucene.search.BooleanQuery; @@ -162,6 +164,12 @@ public final class ExtractQueryTermsService { } else if (query instanceof BoostQuery) { Query wrappedQuery = ((BoostQuery) query).getQuery(); return extractQueryTerms(wrappedQuery); + } else if (query instanceof CommonTermsQuery) { + List<Term> terms = ((CommonTermsQuery) query).getTerms(); + return new HashSet<>(terms); + } else if (query instanceof BlendedTermQuery) { + List<Term> terms = ((BlendedTermQuery) query).getTerms(); + return new HashSet<>(terms); } else { throw new UnsupportedQueryException(query); } |