Skip to content

Commit 1983cca

Browse files
Desc debug
Signed-off-by: Prudhvi Godithi <pgodithi@amazon.com>
1 parent cb30055 commit 1983cca

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

server/src/main/java/org/opensearch/search/approximate/ApproximatePointRangeQuery.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ public boolean canApproximate(SearchContext context) {
449449
if (context.from() + context.size() == 0) {
450450
this.setSize(SearchContext.DEFAULT_TRACK_TOTAL_HITS_UP_TO);
451451
} else {
452-
this.setSize(Math.max(context.from() + context.size(), context.trackTotalHitsUpTo() + 1));
452+
this.setSize(Math.max(context.from() + context.size(), context.trackTotalHitsUpTo()));
453453
}
454454
if (context.request() != null && context.request().source() != null) {
455455
FieldSortBuilder primarySortField = FieldSortBuilder.getPrimaryFieldSortOrNull(context.request().source());

server/src/main/java/org/opensearch/search/approximate/ApproximateScoreQuery.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.apache.lucene.search.IndexSearcher;
1313
import org.apache.lucene.search.Query;
1414
import org.apache.lucene.search.QueryVisitor;
15+
import org.apache.lucene.search.ScoreMode;
1516
import org.apache.lucene.search.Weight;
1617
import org.opensearch.search.internal.SearchContext;
1718

@@ -47,7 +48,11 @@ public Query rewrite(IndexSearcher indexSearcher) throws IOException {
4748
// Default to the original query. This suggests that we were not called from ContextIndexSearcher.
4849
return originalQuery.rewrite(indexSearcher);
4950
}
50-
return resolvedQuery.rewrite(indexSearcher);
51+
Query rewritten = resolvedQuery.rewrite(indexSearcher);
52+
if (rewritten != resolvedQuery) {
53+
resolvedQuery = rewritten;
54+
}
55+
return this;
5156
}
5257

5358
public void setContext(SearchContext context) {
@@ -78,6 +83,11 @@ public boolean equals(Object o) {
7883
return true;
7984
}
8085

86+
@Override
87+
public Weight createWeight(IndexSearcher s, ScoreMode sm, float boost) throws IOException {
88+
return resolvedQuery.createWeight(s, sm, boost);
89+
}
90+
8191
@Override
8292
public int hashCode() {
8393
int h = classHash();

server/src/main/java/org/opensearch/search/query/TopDocsCollectorContext.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
import org.opensearch.common.util.CachedSupplier;
7575
import org.opensearch.index.search.OpenSearchToParentBlockJoinQuery;
7676
import org.opensearch.search.DocValueFormat;
77+
import org.opensearch.search.approximate.ApproximateScoreQuery;
7778
import org.opensearch.search.collapse.CollapseContext;
7879
import org.opensearch.search.internal.ScrollContext;
7980
import org.opensearch.search.internal.SearchContext;
@@ -724,6 +725,8 @@ static int shortcutTotalHitCount(IndexReader reader, Query query) throws IOExcep
724725
query = ((ConstantScoreQuery) query).getQuery();
725726
} else if (query instanceof BoostQuery) {
726727
query = ((BoostQuery) query).getQuery();
728+
} else if (query instanceof ApproximateScoreQuery) {
729+
query = ((ApproximateScoreQuery) query).getOriginalQuery();
727730
} else {
728731
break;
729732
}

0 commit comments

Comments
 (0)