From cb6ea47f35f6a5c80861c1c819b41ae00c9ef273 Mon Sep 17 00:00:00 2001 From: Arne Juul Date: Fri, 5 Jun 2020 13:35:59 +0000 Subject: more TODOs and cleanup --- .../src/vespa/searchlib/queryeval/dot_product_search.h | 1 + searchlib/src/vespa/searchlib/queryeval/iterator_pack.h | 2 ++ .../searchlib/queryeval/wand/parallel_weak_and_search.cpp | 14 +++++++------- .../searchlib/queryeval/wand/parallel_weak_and_search.h | 6 +++--- 4 files changed, 13 insertions(+), 10 deletions(-) (limited to 'searchlib') diff --git a/searchlib/src/vespa/searchlib/queryeval/dot_product_search.h b/searchlib/src/vespa/searchlib/queryeval/dot_product_search.h index 0fa047bb215..8bdbdd18003 100644 --- a/searchlib/src/vespa/searchlib/queryeval/dot_product_search.h +++ b/searchlib/src/vespa/searchlib/queryeval/dot_product_search.h @@ -25,6 +25,7 @@ protected: DotProductSearch() {} public: + // TODO: use MultiSearch::Children to pass ownership static SearchIterator::UP create(const std::vector &children, search::fef::TermFieldMatchData &tmd, const std::vector &childMatch, diff --git a/searchlib/src/vespa/searchlib/queryeval/iterator_pack.h b/searchlib/src/vespa/searchlib/queryeval/iterator_pack.h index a7b30594a5b..8f4f3a3744b 100644 --- a/searchlib/src/vespa/searchlib/queryeval/iterator_pack.h +++ b/searchlib/src/vespa/searchlib/queryeval/iterator_pack.h @@ -23,10 +23,12 @@ public: SearchIteratorPack(SearchIteratorPack &&rhs) noexcept; SearchIteratorPack &operator=(SearchIteratorPack &&rhs) noexcept; + // TODO: use MultiSearch::Children to pass ownership SearchIteratorPack(const std::vector &children, const std::vector &childMatch, MatchDataUP md); + // TODO: use MultiSearch::Children to pass ownership SearchIteratorPack(const std::vector &children, MatchDataUP md); uint32_t get_docid(uint32_t ref) const { diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_search.cpp b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_search.cpp index 789bfc40782..3a7d4d8273a 100644 --- a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_search.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_search.cpp @@ -128,7 +128,7 @@ insertMonitoringSearchIterator(const wand::Terms &terms) } template -SearchIterator * +SearchIterator::UP createWand(const wand::Terms &terms, const ParallelWeakAndSearch::MatchParams &matchParams, ParallelWeakAndSearch::RankParams &&rankParams) @@ -149,9 +149,9 @@ createWand(const wand::Terms &terms, std::move(rankParams.childrenMatchData)), matchParams)), false)); - return new MonitoringDumpIterator(std::move(monitoringIterator)); + return std::make_unique(std::move(monitoringIterator)); } - return new WandType(rankParams.rootMatchData, + return std::make_unique(rankParams.rootMatchData, VectorizedIteratorTerms(terms, DotProductScorer(), matchParams.docIdLimit, @@ -163,7 +163,7 @@ createWand(const wand::Terms &terms, } // namespace search::queryeval::wand -SearchIterator * +SearchIterator::UP ParallelWeakAndSearch::createArrayWand(const Terms &terms, const MatchParams &matchParams, RankParams &&rankParams, @@ -176,7 +176,7 @@ ParallelWeakAndSearch::createArrayWand(const Terms &terms, } } -SearchIterator * +SearchIterator::UP ParallelWeakAndSearch::createHeapWand(const Terms &terms, const MatchParams &matchParams, RankParams &&rankParams, @@ -189,7 +189,7 @@ ParallelWeakAndSearch::createHeapWand(const Terms &terms, } } -SearchIterator * +SearchIterator::UP ParallelWeakAndSearch::create(const Terms &terms, const MatchParams &matchParams, RankParams &&rankParams, @@ -251,7 +251,7 @@ ParallelWeakAndSearch::create(search::fef::TermFieldMatchData &tfmd, childrenMatchData->resolveTermField(handles[i]))); } assert(terms.size() == dict_entries.size()); - return SearchIterator::UP(create(terms, matchParams, RankParams(tfmd, std::move(childrenMatchData)), strict)); + return create(terms, matchParams, RankParams(tfmd, std::move(childrenMatchData)), strict); } } diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_search.h b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_search.h index ba0812aad48..3e1ab1400e8 100644 --- a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_search.h +++ b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_search.h @@ -64,9 +64,9 @@ struct ParallelWeakAndSearch : public SearchIterator virtual score_t get_max_score(size_t idx) const = 0; virtual const MatchParams &getMatchParams() const = 0; - static SearchIterator *createArrayWand(const Terms &terms, const MatchParams &matchParams, RankParams &&rankParams, bool strict); - static SearchIterator *createHeapWand(const Terms &terms, const MatchParams &matchParams, RankParams &&rankParams, bool strict); - static SearchIterator *create(const Terms &terms, const MatchParams &matchParams, RankParams &&rankParams, bool strict); + static SearchIterator::UP createArrayWand(const Terms &terms, const MatchParams &matchParams, RankParams &&rankParams, bool strict); + static SearchIterator::UP createHeapWand(const Terms &terms, const MatchParams &matchParams, RankParams &&rankParams, bool strict); + static SearchIterator::UP create(const Terms &terms, const MatchParams &matchParams, RankParams &&rankParams, bool strict); static SearchIterator::UP create(fef::TermFieldMatchData &tmd, const MatchParams &matchParams, -- cgit v1.2.3