diff options
author | Geir Storli <geirst@yahoo-inc.com> | 2016-08-23 13:31:55 +0200 |
---|---|---|
committer | Geir Storli <geirst@yahoo-inc.com> | 2016-08-23 13:31:55 +0200 |
commit | a28d76069c86ec5e1e02075f96b314f3947b8f2f (patch) | |
tree | 91c5d54508117a0cd2a6fa73e45957c8cd25cb62 /searchsummary | |
parent | 7cf5e0d341d3de4a87fd83275e5bca6adefdcc26 (diff) |
Make sure unhandled query items are ignored by juniper instead of making bolding fail.
Diffstat (limited to 'searchsummary')
-rw-r--r-- | searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp index 8c2c0b2e65c..9a9041ea295 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp @@ -216,10 +216,6 @@ JuniperQueryAdapter::Traverse(juniper::IQueryVisitor *v) const case search::ParseItem::ITEM_WEAK_AND: case search::ParseItem::ITEM_EQUIV: case search::ParseItem::ITEM_WORD_ALTERNATIVES: - // XXX unhandled - // case search::ParseItem::ITEM_WAND: - // case search::ParseItem::ITEM_WEIGHTED_SET: - // case search::ParseItem::ITEM_DOT_PRODUCT: if (!v->VisitOR(&item, iterator.getArity())) rc = SkipItem(&iterator); break; @@ -238,8 +234,6 @@ JuniperQueryAdapter::Traverse(juniper::IQueryVisitor *v) const case search::ParseItem::ITEM_TERM: case search::ParseItem::ITEM_EXACTSTRINGTERM: case search::ParseItem::ITEM_PURE_WEIGHTED_STRING: - // XXX unhandled - // case search::ParseItem::ITEM_PURE_WEIGHTED_LONG: iterator.getTerm(&buf, &buflen); v->VisitKeyword(&item, buf, buflen, false, isSpecialToken); break; @@ -275,8 +269,6 @@ JuniperQueryAdapter::Traverse(juniper::IQueryVisitor *v) const break; case search::ParseItem::ITEM_PREFIXTERM: case search::ParseItem::ITEM_SUBSTRINGTERM: - // XXX unhandled - // case search::ParseItem::ITEM_SUFFIXTERM: iterator.getTerm(&buf, &buflen); v->VisitKeyword(&item, buf, buflen, true, isSpecialToken); break; @@ -296,9 +288,18 @@ JuniperQueryAdapter::Traverse(juniper::IQueryVisitor *v) const if (!v->VisitWITHIN(&item, iterator.getArity(),iterator.getArg1())) rc = SkipItem(&iterator); break; - // XXX unhandled - // case search::ParseItem::ITEM_REGEXP: - // case search::ParseItem::ITEM_PREDICATE_QUERY: + // Unhandled items are just ignored by juniper + case search::ParseItem::ITEM_WAND: + case search::ParseItem::ITEM_WEIGHTED_SET: + case search::ParseItem::ITEM_DOT_PRODUCT: + case search::ParseItem::ITEM_PURE_WEIGHTED_LONG: + case search::ParseItem::ITEM_SUFFIXTERM: + case search::ParseItem::ITEM_REGEXP: + case search::ParseItem::ITEM_PREDICATE_QUERY: + if (!v->VisitOther(&item, iterator.getArity())) { + rc = SkipItem(&iterator); + } + break; default: rc = false; } |