diff options
Diffstat (limited to 'searchlib')
3 files changed, 14 insertions, 1 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/MapTypeContext.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/MapTypeContext.java index 2a42e2d92f7..959eb16a2ac 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/MapTypeContext.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/MapTypeContext.java @@ -24,7 +24,7 @@ public class MapTypeContext implements TypeContext<Reference> { @Override public TensorType getType(String reference) { - throw new UnsupportedOperationException("Not able to parse gereral references from string form"); + throw new UnsupportedOperationException("Not able to parse general references from string form"); } @Override diff --git a/searchlib/src/tests/attribute/stringattribute/stringattribute_test.cpp b/searchlib/src/tests/attribute/stringattribute/stringattribute_test.cpp index ec711b4a456..84ed72d42ca 100644 --- a/searchlib/src/tests/attribute/stringattribute/stringattribute_test.cpp +++ b/searchlib/src/tests/attribute/stringattribute/stringattribute_test.cpp @@ -419,6 +419,7 @@ TEST("test uncased match") { EXPECT_FALSE(helper.isMatch("xyza")); EXPECT_TRUE(helper.isMatch("xyz")); EXPECT_TRUE(helper.isMatch("XyZ")); + EXPECT_FALSE(helper.isMatch("Xy")); } TEST("test uncased prefix match") { @@ -432,6 +433,7 @@ TEST("test uncased prefix match") { EXPECT_TRUE(helper.isMatch("xYza")); EXPECT_TRUE(helper.isMatch("xyz")); EXPECT_TRUE(helper.isMatch("XyZ")); + EXPECT_FALSE(helper.isMatch("Xy")); } TEST("test cased match") { @@ -445,6 +447,7 @@ TEST("test cased match") { EXPECT_FALSE(helper.isMatch("xyz")); EXPECT_FALSE(helper.isMatch("Xyz")); EXPECT_TRUE(helper.isMatch("XyZ")); + EXPECT_FALSE(helper.isMatch("Xy")); } TEST("test cased prefix match") { @@ -459,6 +462,7 @@ TEST("test cased prefix match") { EXPECT_FALSE(helper.isMatch("xyz")); EXPECT_FALSE(helper.isMatch("Xyz")); EXPECT_TRUE(helper.isMatch("XyZ")); + EXPECT_FALSE(helper.isMatch("Xy")); } TEST("test uncased regex match") { @@ -472,6 +476,7 @@ TEST("test uncased regex match") { EXPECT_TRUE(helper.isMatch("xyZ")); EXPECT_TRUE(helper.isMatch("xyz")); EXPECT_FALSE(helper.isMatch("xyaZ")); + EXPECT_FALSE(helper.isMatch("xy")); } TEST("test cased regex match") { @@ -486,6 +491,7 @@ TEST("test cased regex match") { EXPECT_TRUE(helper.isMatch("xYZ")); EXPECT_FALSE(helper.isMatch("xYz")); EXPECT_FALSE(helper.isMatch("xaYZ")); + EXPECT_FALSE(helper.isMatch("xY")); } TEST_MAIN() { TEST_RUN_ALL(); } diff --git a/searchlib/src/vespa/searchlib/attribute/stringbase.h b/searchlib/src/vespa/searchlib/attribute/stringbase.h index f051fb07e71..38fbf1b5002 100644 --- a/searchlib/src/vespa/searchlib/attribute/stringbase.h +++ b/searchlib/src/vespa/searchlib/attribute/stringbase.h @@ -16,6 +16,10 @@ namespace search { +/** + * Helper class for search context when scanning string fields + * It handles different search settings like prefix, regex and cased/uncased. + */ class StringSearchHelper { public: StringSearchHelper(QueryTermUCS4 & qTerm, bool cased); @@ -39,6 +43,9 @@ private: class ReaderBase; +/** + * Base class for all string attributes. + */ class StringAttribute : public AttributeVector { public: |