summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vsm/src/tests/searcher/searcher.cpp4
-rw-r--r--vsm/src/vespa/vsm/searcher/utf8stringfieldsearcherbase.cpp2
2 files changed, 5 insertions, 1 deletions
diff --git a/vsm/src/tests/searcher/searcher.cpp b/vsm/src/tests/searcher/searcher.cpp
index 981ec94c0b3..dfcad223701 100644
--- a/vsm/src/tests/searcher/searcher.cpp
+++ b/vsm/src/tests/searcher/searcher.cpp
@@ -553,6 +553,10 @@ SearcherTest::testUTF8ExactStringFieldSearcher()
TEST_DO(assertString(fs, "vesp*", "vespa", Hits().add(0)));
TEST_DO(assertString(fs, "hutte", "hutte", Hits().add(0)));
TEST_DO(assertString(fs, "hütte", "hütte", Hits().add(0)));
+ TEST_DO(assertString(fs, "hutte", "hütte", Hits()));
+ TEST_DO(assertString(fs, "hütte", "hutte", Hits()));
+ TEST_DO(assertString(fs, "hütter", "hütte", Hits()));
+ TEST_DO(assertString(fs, "hütte", "hütter", Hits()));
}
void
diff --git a/vsm/src/vespa/vsm/searcher/utf8stringfieldsearcherbase.cpp b/vsm/src/vespa/vsm/searcher/utf8stringfieldsearcherbase.cpp
index 73d0c4faac6..a19829773b1 100644
--- a/vsm/src/vespa/vsm/searcher/utf8stringfieldsearcherbase.cpp
+++ b/vsm/src/vespa/vsm/searcher/utf8stringfieldsearcherbase.cpp
@@ -149,7 +149,7 @@ UTF8StringFieldSearcherBase::matchTermExact(const FieldRef & f, QueryTerm & qt)
equal = (*term == c);
}
}
- if (equal && (qt.isPrefix() || (n == e))) {
+ if (equal && (term == eterm) && (qt.isPrefix() || (n == e))) {
addHit(qt,0);
}
}