diff options
Diffstat (limited to 'searchlib/src/vespa/searchlib/query/tree/stackdumpquerycreator.h')
-rw-r--r-- | searchlib/src/vespa/searchlib/query/tree/stackdumpquerycreator.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/searchlib/src/vespa/searchlib/query/tree/stackdumpquerycreator.h b/searchlib/src/vespa/searchlib/query/tree/stackdumpquerycreator.h index 7c743a72567..6f7d7ddd9ad 100644 --- a/searchlib/src/vespa/searchlib/query/tree/stackdumpquerycreator.h +++ b/searchlib/src/vespa/searchlib/query/tree/stackdumpquerycreator.h @@ -42,6 +42,9 @@ public: if (queryStack.hasNoPositionDataFlag()) { t->setPositionData(false); } + if (queryStack.has_prefix_match_semantics()) [[unlikely]] { + t->set_prefix_match(true); + } } } if (builder.hasError()) { @@ -185,9 +188,10 @@ private: } else if (type == ParseItem::ITEM_REGEXP) { t = &builder.addRegExpTerm(term, view, id, weight); } else if (type == ParseItem::ITEM_FUZZY) { - uint32_t maxEditDistance = queryStack.getFuzzyMaxEditDistance(); - uint32_t prefixLength = queryStack.getFuzzyPrefixLength(); - t = &builder.addFuzzyTerm(term, view, id, weight, maxEditDistance, prefixLength); + uint32_t max_edit_distance = queryStack.fuzzy_max_edit_distance(); + uint32_t prefix_lock_length = queryStack.fuzzy_prefix_lock_length(); + bool prefix_match = queryStack.has_prefix_match_semantics(); + t = &builder.addFuzzyTerm(term, view, id, weight, max_edit_distance, prefix_lock_length, prefix_match); } else if (type == ParseItem::ITEM_STRING_IN) { t = &builder.add_in_term(queryStack.get_terms(), MultiTerm::Type::STRING, view, id, weight); } else if (type == ParseItem::ITEM_NUMERIC_IN) { |