diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-06-10 00:18:45 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-06-10 00:18:45 +0200 |
commit | e5f034271514570b4590a3fa76c91dbdb1f7515f (patch) | |
tree | ad37860980547e27a2c4ffd6918b6ab9760a0348 /container-search/src/main/java/com/yahoo/prelude/querytransform | |
parent | 4b3adbb89f52bb20f2f220fcf1480673cae0881d (diff) |
Revert "Merge pull request #23040 from vespa-engine/revert-23039-bratseth/weakand-by-default-take-2"
This reverts commit 4b3adbb89f52bb20f2f220fcf1480673cae0881d, reversing
changes made to d204179b218af2fdf4b251ede3a465ffabbf6557.
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/querytransform')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/querytransform/QueryRewrite.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/querytransform/QueryRewrite.java b/container-search/src/main/java/com/yahoo/prelude/querytransform/QueryRewrite.java index 09be9b3728b..bf814eef057 100644 --- a/container-search/src/main/java/com/yahoo/prelude/querytransform/QueryRewrite.java +++ b/container-search/src/main/java/com/yahoo/prelude/querytransform/QueryRewrite.java @@ -14,6 +14,7 @@ import com.yahoo.prelude.query.OrItem; import com.yahoo.prelude.query.RankItem; import com.yahoo.prelude.query.SimpleIndexedItem; import com.yahoo.prelude.query.SubstringItem; +import com.yahoo.prelude.query.WeakAndItem; import com.yahoo.search.Query; import com.yahoo.search.query.Model; import com.yahoo.search.result.Hit; @@ -26,8 +27,6 @@ public class QueryRewrite { private enum Recall { RECALLS_EVERYTHING, RECALLS_NOTHING, UNKNOWN_RECALL } - // ------------------- Start public API - /** * Optimize multiple NotItems under and or by collapsing them in to one and leaving * the positive ones behind in its place and moving itself with the original and as its positive item @@ -49,6 +48,7 @@ public class QueryRewrite { return; } Item root = query.getModel().getQueryTree().getRoot(); + if (optimizeByRestrict(root, query.getModel().getRestrict().iterator().next()) == Recall.RECALLS_NOTHING) { query.getModel().getQueryTree().setRoot(new NullItem()); } @@ -170,7 +170,7 @@ public class QueryRewrite { if ((item instanceof OrItem) || (item instanceof EquivItem)) { removeOtherNonrankedChildren(item, i); recall = Recall.RECALLS_EVERYTHING; - } else if ((item instanceof AndItem) || (item instanceof NearItem)) { + } else if ((item instanceof AndItem) || (item instanceof NearItem) || (item instanceof WeakAndItem)) { if ( ! isRanked(item.getItem(i))) { item.removeItem(i); } @@ -183,7 +183,7 @@ public class QueryRewrite { case RECALLS_NOTHING: if ((item instanceof OrItem) || (item instanceof EquivItem)) { item.removeItem(i); - } else if ((item instanceof AndItem) || (item instanceof NearItem)) { + } else if ((item instanceof AndItem) || (item instanceof NearItem) || (item instanceof WeakAndItem)) { return Recall.RECALLS_NOTHING; } else if (item instanceof RankItem) { if (i == 0) return Recall.RECALLS_NOTHING; |