diff options
author | Geir Storli <geirst@yahooinc.com> | 2022-09-12 17:00:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-12 17:00:02 +0200 |
commit | cf494ca75f3dc3bd66ef90a8438a20a5dd447452 (patch) | |
tree | 903de92d8fbecc59e6ca6f445c22ef01d0d696c6 | |
parent | 5f654b66b533923fb80cbe984f7dbbb694b261d6 (diff) | |
parent | 94c477290475ed4da644acd1a0db52d5ddfeafdb (diff) |
Merge pull request #24022 from vespa-engine/toregge/handle-juniper-for-array-of-stringv8.51.18
Handle juniper callbacks for array of string.
4 files changed, 7 insertions, 5 deletions
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp index 456af5a5dd5..4fb20bb1458 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp @@ -97,6 +97,8 @@ DynamicTeaserDFW::insert_juniper_field(uint32_t docid, vespalib::stringref input if (teaser != nullptr) { inserter.insertString({teaser->Text(), teaser->Length()}); + } else { + inserter.insertString({}); } } diff --git a/searchsummary/src/vespa/searchsummary/docsummary/slime_filler.cpp b/searchsummary/src/vespa/searchsummary/docsummary/slime_filler.cpp index 5e3bc22aa69..725ebff1f77 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/slime_filler.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/slime_filler.cpp @@ -105,11 +105,11 @@ SlimeFiller::SlimeFiller(Inserter& inserter, bool tokenize, const std::vector<ui { } -SlimeFiller::SlimeFiller(Inserter& inserter, bool tokenize, IJuniperConverter& juniper_converter) +SlimeFiller::SlimeFiller(Inserter& inserter, bool tokenize, IJuniperConverter* juniper_converter) : _inserter(inserter), _tokenize(tokenize), _matching_elems(nullptr), - _juniper_converter(&juniper_converter) + _juniper_converter(juniper_converter) { } @@ -163,7 +163,7 @@ SlimeFiller::visit(const ArrayFieldValue& value) } Cursor& a = _inserter.insertArray(); ArrayInserter ai(a); - SlimeFiller conv(ai, _tokenize); + SlimeFiller conv(ai, _tokenize, _juniper_converter); if (filter_matching_elements()) { for (uint32_t id_to_keep : (*_matching_elems)) { value[id_to_keep].accept(conv); diff --git a/searchsummary/src/vespa/searchsummary/docsummary/slime_filler.h b/searchsummary/src/vespa/searchsummary/docsummary/slime_filler.h index 4627c1be3c7..ebade8aa711 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/slime_filler.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/slime_filler.h @@ -52,7 +52,7 @@ class SlimeFiller : public document::ConstFieldValueVisitor { public: SlimeFiller(vespalib::slime::Inserter& inserter, bool tokenize); SlimeFiller(vespalib::slime::Inserter& inserter, bool tokenize, const std::vector<uint32_t>* matching_elems); - SlimeFiller(vespalib::slime::Inserter& inserter, bool tokenize, IJuniperConverter& juniper_converter); + SlimeFiller(vespalib::slime::Inserter& inserter, bool tokenize, IJuniperConverter* juniper_converter); ~SlimeFiller() override; }; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/summaryfieldconverter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/summaryfieldconverter.cpp index 4679c8d096c..1a21c1d3eab 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/summaryfieldconverter.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/summaryfieldconverter.cpp @@ -230,7 +230,7 @@ SummaryFieldConverter::insert_juniper_field(const document::FieldValue& value, v CheckUndefinedValueVisitor check_undefined; value.accept(check_undefined); if (!check_undefined.is_undefined()) { - SlimeFiller visitor(inserter, tokenize, converter); + SlimeFiller visitor(inserter, tokenize, &converter); value.accept(visitor); } } |