diff options
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.java | 10 |
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; + } } |