summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-06-09 23:54:44 +0200
committerGitHub <noreply@github.com>2022-06-09 23:54:44 +0200
commit1d164943ec95e1492d0b2894657373a01dc0dca7 (patch)
treed7d2f647e556fd713f1678b76af0c2c151c4167f /container-search/src/main/java
parentd204179b218af2fdf4b251ede3a465ffabbf6557 (diff)
Revert "Bratseth/weakand by default take 2"
Diffstat (limited to 'container-search/src/main/java')
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/query/parser/AllParser.java1
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/query/parser/SimpleParser.java1
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/querytransform/QueryRewrite.java8
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/Model.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/yql/YqlParser.java4
5 files changed, 9 insertions, 7 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/parser/AllParser.java b/container-search/src/main/java/com/yahoo/prelude/query/parser/AllParser.java
index 8cc820d8f76..80a2320b039 100644
--- a/container-search/src/main/java/com/yahoo/prelude/query/parser/AllParser.java
+++ b/container-search/src/main/java/com/yahoo/prelude/query/parser/AllParser.java
@@ -55,6 +55,7 @@ public class AllParser extends SimpleParser {
CompositeItem and = null;
NotItem not = null; // Store negatives here as we go
Item current;
+
// Find all items
do {
current = negativeItem();
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/parser/SimpleParser.java b/container-search/src/main/java/com/yahoo/prelude/query/parser/SimpleParser.java
index 27bce6bd027..020d93d951c 100644
--- a/container-search/src/main/java/com/yahoo/prelude/query/parser/SimpleParser.java
+++ b/container-search/src/main/java/com/yahoo/prelude/query/parser/SimpleParser.java
@@ -51,6 +51,7 @@ abstract class SimpleParser extends StructuredParser {
Item topLevelItem = null;
NotItem not = null;
Item item = null;
+
do {
item = positiveItem();
if (item != null) {
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 bf814eef057..09be9b3728b 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,7 +14,6 @@ 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;
@@ -27,6 +26,8 @@ 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
@@ -48,7 +49,6 @@ 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) || (item instanceof WeakAndItem)) {
+ } else if ((item instanceof AndItem) || (item instanceof NearItem)) {
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) || (item instanceof WeakAndItem)) {
+ } else if ((item instanceof AndItem) || (item instanceof NearItem)) {
return Recall.RECALLS_NOTHING;
} else if (item instanceof RankItem) {
if (i == 0) return Recall.RECALLS_NOTHING;
diff --git a/container-search/src/main/java/com/yahoo/search/query/Model.java b/container-search/src/main/java/com/yahoo/search/query/Model.java
index dbaab3045bf..1b12f3f3bb8 100644
--- a/container-search/src/main/java/com/yahoo/search/query/Model.java
+++ b/container-search/src/main/java/com/yahoo/search/query/Model.java
@@ -86,7 +86,7 @@ public class Model implements Cloneable {
private Locale locale = null;
private QueryTree queryTree = null; // The query tree to execute. This is lazily created from the program
private String defaultIndex = null;
- private Query.Type type = Query.Type.WEAKAND;
+ private Query.Type type = Query.Type.ALL;
private Query parent;
private Set<String> sources = new LinkedHashSet<>();
private Set<String> restrict = new LinkedHashSet<>();
diff --git a/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java b/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java
index a149ae9323a..15e3b7aab14 100644
--- a/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java
+++ b/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java
@@ -740,7 +740,7 @@ public class YqlParser implements Parser {
if (allowEmpty && (wordData == null || wordData.isEmpty())) return new NullItem();
String grammar = getAnnotation(ast, USER_INPUT_GRAMMAR, String.class,
- Query.Type.WEAKAND.toString(), "grammar for handling user input");
+ Query.Type.ALL.toString(), "grammar for handling user input");
String defaultIndex = getAnnotation(ast, USER_INPUT_DEFAULT_INDEX,
String.class, "default", "default index for user input terms");
Language language = decideParsingLanguage(ast, wordData);
@@ -1448,7 +1448,7 @@ public class YqlParser implements Parser {
"setting for whether to use substring match of input data");
boolean exact = exactMatch != null ? exactMatch : indexFactsSession.getIndex(indexNameExpander.expand(field)).isExact();
String grammar = getAnnotation(ast, USER_INPUT_GRAMMAR, String.class,
- Query.Type.WEAKAND.toString(), "grammar for handling word input");
+ Query.Type.ALL.toString(), "grammar for handling word input");
Preconditions.checkArgument((prefixMatch ? 1 : 0) +
(substrMatch ? 1 : 0) + (suffixMatch ? 1 : 0) < 2,
"Only one of prefix, substring and suffix can be set.");