diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-06-03 18:49:49 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2024-06-03 18:49:49 +0200 |
commit | 7f18f3e76497466da291e92844441554f8c24680 (patch) | |
tree | 2c79a695fb00c2049474181afe6fa69ca9adb73c /container-search | |
parent | 31bec51433fc9bb7edc0ab4345eecf14e2387242 (diff) |
Use targetHits from WeakAnd directly. Also add tracing of fallback to weakAnd
Diffstat (limited to 'container-search')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/searchers/OpportunisticWeakAndSearcher.java | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/searchers/OpportunisticWeakAndSearcher.java b/container-search/src/main/java/com/yahoo/search/searchers/OpportunisticWeakAndSearcher.java index c512e821128..11c7dce9984 100644 --- a/container-search/src/main/java/com/yahoo/search/searchers/OpportunisticWeakAndSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/searchers/OpportunisticWeakAndSearcher.java @@ -15,8 +15,6 @@ import com.yahoo.search.Searcher; import com.yahoo.search.querytransform.WeakAndReplacementSearcher; import com.yahoo.search.searchchain.Execution; -import static com.yahoo.search.querytransform.WeakAndReplacementSearcher.WAND_HITS; - /** * Will opportunistically replace the WeakAND with an AND as it is faster. * If enough hits are returned all is good and we return. If not we fall back to the original query. @@ -38,12 +36,13 @@ public class OpportunisticWeakAndSearcher extends Searcher { int targetHits = targetHits(originalRoot); if (targetHits >= 0) { query.getModel().getQueryTree().setRoot(weakAnd2AndRecurse(originalRoot.clone())); - query.trace("WeakAND => AND", true, 2); + query.trace("WeakAND(" + targetHits+ ") => AND", true, 2); Result result = execution.search(query); - if (result.getHitCount() >= query.properties().getInteger(WAND_HITS)) { + if (result.getConcreteHitCount() >= targetHits) { return result; } query.getModel().getQueryTree().setRoot(originalRoot); + query.trace("Fallback to WeakAND(" + targetHits+ ") as AND => " + result, true, 2); return execution.search(query); } return execution.search(query); |