summaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@oath.com>2018-05-24 13:33:04 +0200
committerHenning Baldersheim <balder@oath.com>2018-05-25 08:49:35 +0200
commitab2a3c4409320a512fdbf9d87ad80b4577130e69 (patch)
tree8479af72c9855876c70eec6764db729591f07fd2 /searchsummary
parent4d4c97a77dcabace7e47e7dbe112e382c6fae13f (diff)
Add initial support for SameElement in backend too.
Diffstat (limited to 'searchsummary')
-rw-r--r--searchsummary/src/tests/extractkeywords/extractkeywordstest.cpp8
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp1
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp3
3 files changed, 7 insertions, 5 deletions
diff --git a/searchsummary/src/tests/extractkeywords/extractkeywordstest.cpp b/searchsummary/src/tests/extractkeywords/extractkeywordstest.cpp
index eac6f65a48e..b2920b39eaf 100644
--- a/searchsummary/src/tests/extractkeywords/extractkeywordstest.cpp
+++ b/searchsummary/src/tests/extractkeywords/extractkeywordstest.cpp
@@ -200,7 +200,7 @@ ExtractKeywordsTest::RunTest(int testno, bool verify)
stack.Push(new search::ParseItem(search::ParseItem::ITEM_TERM, "foobar"));
stack.Push(new search::ParseItem(search::ParseItem::ITEM_TERM, "foo"));
stack.Push(new search::ParseItem(search::ParseItem::ITEM_TERM, "bar"));
- stack.Push(new search::ParseItem(search::ParseItem::ITEM_PHRASE, 3));
+ stack.Push(new search::ParseItem(search::ParseItem::ITEM_PHRASE, 3, "index"));
stack.AppendBuffer(&buf);
keywords = _extractor->ExtractKeywords(vespalib::stringref(buf.GetDrainPos(), buf.GetUsedLen()));
@@ -216,11 +216,11 @@ ExtractKeywordsTest::RunTest(int testno, bool verify)
// multiple phrase and term query
stack.Push(new search::ParseItem(search::ParseItem::ITEM_TERM, "xyzzy"));
stack.Push(new search::ParseItem(search::ParseItem::ITEM_TERM, "xyz"));
- stack.Push(new search::ParseItem(search::ParseItem::ITEM_PHRASE, 2));
+ stack.Push(new search::ParseItem(search::ParseItem::ITEM_PHRASE, 2, "index"));
stack.Push(new search::ParseItem(search::ParseItem::ITEM_TERM, "foobar"));
stack.Push(new search::ParseItem(search::ParseItem::ITEM_TERM, "foo"));
stack.Push(new search::ParseItem(search::ParseItem::ITEM_TERM, "bar"));
- stack.Push(new search::ParseItem(search::ParseItem::ITEM_PHRASE, 3));
+ stack.Push(new search::ParseItem(search::ParseItem::ITEM_PHRASE, 3, "index"));
stack.Push(new search::ParseItem(search::ParseItem::ITEM_TERM, "baz"));
stack.Push(new search::ParseItem(search::ParseItem::ITEM_TERM, "zog"));
stack.Push(new search::ParseItem(search::ParseItem::ITEM_AND, 3));
@@ -241,7 +241,7 @@ ExtractKeywordsTest::RunTest(int testno, bool verify)
stack.Push(new search::ParseItem(search::ParseItem::ITEM_TERM, "foo"));
stack.Push(new search::ParseItem(search::ParseItem::ITEM_AND, 2));
stack.Push(new search::ParseItem(search::ParseItem::ITEM_TERM, "bar"));
- stack.Push(new search::ParseItem(search::ParseItem::ITEM_PHRASE, 2));
+ stack.Push(new search::ParseItem(search::ParseItem::ITEM_PHRASE, 2, "index"));
stack.AppendBuffer(&buf);
keywords = _extractor->ExtractKeywords(vespalib::stringref(buf.GetDrainPos(), buf.GetUsedLen()));
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
index e535eef660c..bbae3f19c1d 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
@@ -246,6 +246,7 @@ JuniperQueryAdapter::Traverse(juniper::IQueryVisitor *v) const
}
break;
case search::ParseItem::ITEM_PHRASE:
+ case search::ParseItem::ITEM_SAME_ELEMENT:
if (!v->VisitPHRASE(&item, iterator.getArity()))
rc = SkipItem(&iterator);
break;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp
index e153a898f6a..50274d08fb5 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp
@@ -165,7 +165,8 @@ KeywordExtractor::ExtractKeywords(vespalib::stringref buf) const
break;
case search::ParseItem::ITEM_PHRASE:
- {
+ case search::ParseItem::ITEM_SAME_ELEMENT:
+ {
// Must take the next arity TERMS and put together
bool phraseterms_was_added = false;
int phraseterms = si.getArity();