summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-06-05 13:35:59 +0000
committerArne Juul <arnej@verizonmedia.com>2020-06-05 13:37:43 +0000
commitcb6ea47f35f6a5c80861c1c819b41ae00c9ef273 (patch)
tree880d738543a260b1c388a95b750ede2d1905da6d /searchlib
parenta8d71c6f344374184e90db2f3832345895f33c75 (diff)
more TODOs and cleanup
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/dot_product_search.h1
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/iterator_pack.h2
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_search.cpp14
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_search.h6
4 files changed, 13 insertions, 10 deletions
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<SearchIterator*> &children,
search::fef::TermFieldMatchData &tmd,
const std::vector<fef::TermFieldMatchData*> &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<SearchIterator*> &children,
const std::vector<fef::TermFieldMatchData*> &childMatch,
MatchDataUP md);
+ // TODO: use MultiSearch::Children to pass ownership
SearchIteratorPack(const std::vector<SearchIterator*> &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 <typename FutureHeap, typename PastHeap, bool IS_STRICT>
-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<MonitoringDumpIterator>(std::move(monitoringIterator));
}
- return new WandType(rankParams.rootMatchData,
+ return std::make_unique<WandType>(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,