summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/index/query/IndicesQueryBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/elasticsearch/index/query/IndicesQueryBuilder.java')
-rw-r--r--core/src/main/java/org/elasticsearch/index/query/IndicesQueryBuilder.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/core/src/main/java/org/elasticsearch/index/query/IndicesQueryBuilder.java b/core/src/main/java/org/elasticsearch/index/query/IndicesQueryBuilder.java
index 5185dfda3b..c366394976 100644
--- a/core/src/main/java/org/elasticsearch/index/query/IndicesQueryBuilder.java
+++ b/core/src/main/java/org/elasticsearch/index/query/IndicesQueryBuilder.java
@@ -140,4 +140,14 @@ public class IndicesQueryBuilder extends AbstractQueryBuilder<IndicesQueryBuilde
Arrays.equals(indices, other.indices) && // otherwise we are comparing pointers
Objects.equals(noMatchQuery, other.noMatchQuery);
}
+
+ @Override
+ public QueryBuilder<?> rewrite(QueryRewriteContext queryShardContext) throws IOException {
+ QueryBuilder<?> newInnnerQuery = innerQuery.rewrite(queryShardContext);
+ QueryBuilder<?> newNoMatchQuery = noMatchQuery.rewrite(queryShardContext);
+ if (newInnnerQuery != innerQuery || newNoMatchQuery != noMatchQuery) {
+ return new IndicesQueryBuilder(innerQuery, indices).noMatchQuery(noMatchQuery).boost(boost()).queryName(queryName());
+ }
+ return this;
+ }
}