summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/index/percolator/ExtractQueryTermsService.java
diff options
context:
space:
mode:
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.java8
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);
}