aboutsummaryrefslogtreecommitdiffstats
path: root/streamingvisitors/src/vespa/vsm
diff options
context:
space:
mode:
Diffstat (limited to 'streamingvisitors/src/vespa/vsm')
-rw-r--r--streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.cpp7
-rw-r--r--streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.cpp6
2 files changed, 6 insertions, 7 deletions
diff --git a/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.cpp b/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.cpp
index 72807bc6c34..38e12a3054d 100644
--- a/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.cpp
+++ b/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.cpp
@@ -192,9 +192,9 @@ FieldSearcher::init()
void
FieldIdTSearcherMap::prepare_term(const DocumentTypeIndexFieldMapT& difm, QueryTerm* qt, FieldIdT fid, vespalib::hash_set<const void*>& seen, QueryTermList& onlyInIndex)
{
- auto equiv = qt->as_equiv_query_node();
- if (equiv != nullptr) {
- for (auto& subterm : equiv->get_terms()) {
+ auto multi_term = qt->as_multi_term();
+ if (multi_term != nullptr && multi_term->multi_index_terms()) {
+ for (auto& subterm : multi_term->get_terms()) {
prepare_term(difm, subterm.get(), fid, seen, onlyInIndex);
}
return;
@@ -206,7 +206,6 @@ FieldIdTSearcherMap::prepare_term(const DocumentTypeIndexFieldMapT& difm, QueryT
const FieldIdTList & index = found->second;
if ((find(index.begin(), index.end(), fid) != index.end()) && !seen.contains(qt)) {
seen.insert(qt);
- auto multi_term = qt->as_multi_term();
if (multi_term != nullptr) {
for (auto& subterm : multi_term->get_terms()) {
onlyInIndex.emplace_back(subterm.get());
diff --git a/streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.cpp b/streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.cpp
index c596b46a774..1dbac859262 100644
--- a/streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.cpp
+++ b/streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.cpp
@@ -223,9 +223,9 @@ FieldSearchSpecMap::buildFieldsInQuery(const Query & query) const
query.getLeaves(qtl);
for (const auto & term : qtl) {
- auto equiv = term->as_equiv_query_node();
- if (equiv != nullptr) {
- for (const auto& subterm : equiv->get_terms()) {
+ auto multi_term = term->as_multi_term();
+ if (multi_term != nullptr && multi_term->multi_index_terms()) {
+ for (const auto& subterm : multi_term->get_terms()) {
addFieldsFromIndex(subterm->index(), fieldsInQuery);
}
} else {