diff options
33 files changed, 115 insertions, 112 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/documentmetastore/lid_allocator.cpp b/searchcore/src/vespa/searchcore/proton/documentmetastore/lid_allocator.cpp index 0c03727e017..525f4f7a267 100644 --- a/searchcore/src/vespa/searchcore/proton/documentmetastore/lid_allocator.cpp +++ b/searchcore/src/vespa/searchcore/proton/documentmetastore/lid_allocator.cpp @@ -3,6 +3,7 @@ #include "lid_allocator.h" #include <vespa/searchlib/common/bitvectoriterator.h> #include <vespa/searchlib/fef/termfieldmatchdataarray.h> +#include <vespa/searchlib/fef/matchdata.h> #include <mutex> #include <vespa/log/log.h> diff --git a/searchcorespi/src/vespa/searchcorespi/index/warmupindexcollection.cpp b/searchcorespi/src/vespa/searchcorespi/index/warmupindexcollection.cpp index dabdf16e69e..98e44ff8e44 100644 --- a/searchcorespi/src/vespa/searchcorespi/index/warmupindexcollection.cpp +++ b/searchcorespi/src/vespa/searchcorespi/index/warmupindexcollection.cpp @@ -219,6 +219,15 @@ WarmupIndexCollection::getSearchableSP(uint32_t i) const return _next->getSearchableSP(i); } +WarmupIndexCollection::WarmupTask::WarmupTask(std::unique_ptr<MatchData> md, WarmupIndexCollection & warmup) + : _warmup(warmup), + _matchData(std::move(md)), + _bluePrint(), + _requestContext() +{ } + +WarmupIndexCollection::WarmupTask::~WarmupTask() = default; + void WarmupIndexCollection::WarmupTask::run() { diff --git a/searchcorespi/src/vespa/searchcorespi/index/warmupindexcollection.h b/searchcorespi/src/vespa/searchcorespi/index/warmupindexcollection.h index 571353574c1..fb36807b8e4 100644 --- a/searchcorespi/src/vespa/searchcorespi/index/warmupindexcollection.h +++ b/searchcorespi/src/vespa/searchcorespi/index/warmupindexcollection.h @@ -70,12 +70,8 @@ private: typedef vespalib::Executor::Task Task; class WarmupTask : public Task { public: - WarmupTask(MatchData::UP md, WarmupIndexCollection & warmup) : - _warmup(warmup), - _matchData(std::move(md)), - _bluePrint(), - _requestContext() - { } + WarmupTask(std::unique_ptr<MatchData> md, WarmupIndexCollection & warmup); + ~WarmupTask() override; WarmupTask &createBlueprint(const FieldSpec &field, const Node &term) { _bluePrint = _warmup.createBlueprint(_requestContext, field, term); return *this; @@ -86,10 +82,10 @@ private: } private: void run() override; - WarmupIndexCollection & _warmup; - MatchData::UP _matchData; - Blueprint::UP _bluePrint; - FakeRequestContext _requestContext; + WarmupIndexCollection & _warmup; + std::unique_ptr<MatchData> _matchData; + Blueprint::UP _bluePrint; + FakeRequestContext _requestContext; }; void fireWarmup(Task::UP task); diff --git a/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp b/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp index e2f21a3d306..e9addae07b9 100644 --- a/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp +++ b/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp @@ -19,6 +19,7 @@ #include <vespa/searchlib/queryeval/leaf_blueprints.h> #include <vespa/searchlib/queryeval/nearest_neighbor_blueprint.h> #include <vespa/searchlib/tensor/dense_tensor_attribute.h> +#include <vespa/searchlib/fef/matchdata.h> #include <vespa/vespalib/gtest/gtest.h> #include <vespa/log/log.h> diff --git a/searchlib/src/tests/queryeval/blueprint/leaf_blueprints_test.cpp b/searchlib/src/tests/queryeval/blueprint/leaf_blueprints_test.cpp index d816e799b59..dd1d57fc296 100644 --- a/searchlib/src/tests/queryeval/blueprint/leaf_blueprints_test.cpp +++ b/searchlib/src/tests/queryeval/blueprint/leaf_blueprints_test.cpp @@ -1,10 +1,12 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/log/log.h> -LOG_SETUP("blueprint_test"); + #include <vespa/vespalib/testkit/testapp.h> #include <vespa/searchlib/queryeval/blueprint.h> #include <vespa/searchlib/queryeval/leaf_blueprints.h> -#include <vespa/vespalib/objects/visit.h> +#include <vespa/searchlib/fef/matchdata.h> + +#include <vespa/log/log.h> +LOG_SETUP("blueprint_test"); using namespace search::queryeval; using namespace search::fef; diff --git a/searchlib/src/tests/queryeval/blueprint/mysearch.h b/searchlib/src/tests/queryeval/blueprint/mysearch.h index 73abcce3dc4..520a5d8448f 100644 --- a/searchlib/src/tests/queryeval/blueprint/mysearch.h +++ b/searchlib/src/tests/queryeval/blueprint/mysearch.h @@ -2,6 +2,7 @@ #include <vespa/searchlib/queryeval/blueprint.h> #include <vespa/searchlib/queryeval/multisearch.h> #include <vespa/searchlib/fef/termfieldmatchdataarray.h> +#include <vespa/searchlib/fef/matchdata.h> #include <vespa/vespalib/objects/visit.hpp> namespace search::queryeval { diff --git a/searchlib/src/tests/queryeval/sourceblender/sourceblender.cpp b/searchlib/src/tests/queryeval/sourceblender/sourceblender.cpp index c02bea9c5df..64ff8898bb0 100644 --- a/searchlib/src/tests/queryeval/sourceblender/sourceblender.cpp +++ b/searchlib/src/tests/queryeval/sourceblender/sourceblender.cpp @@ -9,6 +9,7 @@ #include <vespa/searchlib/test/searchiteratorverifier.h> #include <vespa/searchlib/common/bitvectoriterator.h> #include <vespa/searchlib/attribute/fixedsourceselector.h> +#include <vespa/searchlib/fef/matchdata.h> using namespace search::queryeval; using namespace search::fef; diff --git a/searchlib/src/tests/queryeval/termwise_eval/termwise_eval_test.cpp b/searchlib/src/tests/queryeval/termwise_eval/termwise_eval_test.cpp index 9f4c0058b93..8d70daa4ca8 100644 --- a/searchlib/src/tests/queryeval/termwise_eval/termwise_eval_test.cpp +++ b/searchlib/src/tests/queryeval/termwise_eval/termwise_eval_test.cpp @@ -11,6 +11,7 @@ #include <vespa/vespalib/test/insertion_operators.h> #include <vespa/searchlib/test/searchiteratorverifier.h> #include <vespa/searchlib/common/bitvectoriterator.h> +#include <vespa/searchlib/fef/matchdata.h> #include <vespa/vespalib/objects/visit.hpp> using namespace vespalib; @@ -81,15 +82,15 @@ struct MyBlueprint : SimpleLeafBlueprint { setEstimate(HitEstimate(hits.size(), hits.empty())); set_allow_termwise_eval(allow_termwise_eval); } - ~MyBlueprint(); + ~MyBlueprint() override; SearchIterator::UP createLeafSearch(const fef::TermFieldMatchDataArray &, bool strict) const override { - return SearchIterator::UP(new MyTerm(hits, strict)); + return std::make_unique<MyTerm>(hits, strict); } }; -MyBlueprint::~MyBlueprint() {} +MyBlueprint::~MyBlueprint() = default; struct MyOr : OrBlueprint { bool use_my_value; diff --git a/searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp b/searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp index d8e9c442940..8595b0eff7f 100644 --- a/searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp +++ b/searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp @@ -28,6 +28,7 @@ #include <vespa/searchlib/queryeval/wand/parallel_weak_and_search.h> #include <vespa/searchlib/queryeval/weighted_set_term_blueprint.h> #include <vespa/searchlib/queryeval/weighted_set_term_search.h> +#include <vespa/searchlib/queryeval/field_spec.hpp> #include <vespa/searchlib/tensor/dense_tensor_attribute.h> #include <vespa/vespalib/util/regexp.h> #include <vespa/vespalib/util/stringfmt.h> diff --git a/searchlib/src/vespa/searchlib/memoryindex/posting_iterator.cpp b/searchlib/src/vespa/searchlib/memoryindex/posting_iterator.cpp index 735fec2bb5f..c4d2c335689 100644 --- a/searchlib/src/vespa/searchlib/memoryindex/posting_iterator.cpp +++ b/searchlib/src/vespa/searchlib/memoryindex/posting_iterator.cpp @@ -2,6 +2,7 @@ #include "posting_iterator.h" #include <vespa/searchlib/queryeval/iterators.h> +#include <vespa/searchlib/fef/termfieldmatchdata.h> #include <vespa/vespalib/btree/btreeiterator.hpp> #include <vespa/vespalib/btree/btreenode.hpp> #include <vespa/vespalib/btree/btreenodeallocator.hpp> diff --git a/searchlib/src/vespa/searchlib/queryeval/blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/blueprint.cpp index 0a4d10742f7..b6ecd8d1c7d 100644 --- a/searchlib/src/vespa/searchlib/queryeval/blueprint.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/blueprint.cpp @@ -3,6 +3,7 @@ #include "blueprint.h" #include "leaf_blueprints.h" #include "intermediate_blueprints.h" +#include "field_spec.hpp" #include <vespa/searchlib/fef/termfieldmatchdataarray.h> #include <vespa/vespalib/objects/visit.hpp> #include <vespa/vespalib/objects/objectdumper.h> @@ -170,10 +171,18 @@ namespace blueprint { void StateCache::updateState() const { + assert(!frozen()); _state = calculateState(); _stale = false; } +void +StateCache::notifyChange() { + assert(!frozen()); + Blueprint::notifyChange(); + _stale = true; +} + } // namespace blueprint //----------------------------------------------------------------------------- diff --git a/searchlib/src/vespa/searchlib/queryeval/blueprint.h b/searchlib/src/vespa/searchlib/queryeval/blueprint.h index 842cd7f30ea..f982cc7b044 100644 --- a/searchlib/src/vespa/searchlib/queryeval/blueprint.h +++ b/searchlib/src/vespa/searchlib/queryeval/blueprint.h @@ -5,10 +5,6 @@ #include "field_spec.h" #include "unpackinfo.h" #include "executeinfo.h" -#include <vespa/searchlib/fef/handle.h> -#include <vespa/searchlib/fef/matchdata.h> -#include <vespa/searchlib/fef/termfieldmatchdata.h> -#include <cassert> namespace vespalib { class ObjectVisitor; } namespace vespalib::slime { @@ -16,7 +12,10 @@ namespace vespalib::slime { struct Inserter; } namespace search::attribute { class ISearchContext; } -namespace search::fef { class TermFieldMatchDataArray; } +namespace search::fef { + class TermFieldMatchDataArray; + class MatchData; +} namespace search::queryeval { @@ -218,18 +217,13 @@ private: void updateState() const; protected: - void notifyChange() override final { - assert(!frozen()); - Blueprint::notifyChange(); - _stale = true; - } + void notifyChange() override final; virtual State calculateState() const = 0; public: StateCache() : _stale(true), _state(FieldSpecBaseList()) {} const State &getState() const override final { if (_stale) { - assert(!frozen()); updateState(); } return _state; diff --git a/searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.cpp index d8bb31525e9..712c49b6820 100644 --- a/searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.cpp @@ -2,6 +2,7 @@ #include "dot_product_blueprint.h" #include "dot_product_search.h" +#include "field_spec.hpp" #include <vespa/vespalib/objects/visit.hpp> namespace search::queryeval { diff --git a/searchlib/src/vespa/searchlib/queryeval/equiv_blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/equiv_blueprint.cpp index 8e067596adf..08a05b25772 100644 --- a/searchlib/src/vespa/searchlib/queryeval/equiv_blueprint.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/equiv_blueprint.cpp @@ -2,10 +2,10 @@ #include "equiv_blueprint.h" #include "equivsearch.h" +#include "field_spec.hpp" #include <vespa/vespalib/objects/visit.hpp> -namespace search { -namespace queryeval { +namespace search::queryeval { EquivBlueprint::EquivBlueprint(const FieldSpecBaseList &fields, fef::MatchDataLayout subtree_mdl) @@ -18,17 +18,14 @@ EquivBlueprint::EquivBlueprint(const FieldSpecBaseList &fields, { } -EquivBlueprint::~EquivBlueprint() -{ -} +EquivBlueprint::~EquivBlueprint() = default; SearchIterator::UP -EquivBlueprint::createLeafSearch(const search::fef::TermFieldMatchDataArray &outputs, - bool strict) const +EquivBlueprint::createLeafSearch(const fef::TermFieldMatchDataArray &outputs, bool strict) const { fef::MatchData::UP md = _layout.createMatchData(); MultiSearch::Children children(_terms.size()); - search::fef::TermMatchDataMerger::Inputs childMatch; + fef::TermMatchDataMerger::Inputs childMatch; for (size_t i = 0; i < _terms.size(); ++i) { const State &childState = _terms[i]->getState(); for (size_t j = 0; j < childState.numFields(); ++j) { @@ -69,6 +66,4 @@ EquivBlueprint::addTerm(Blueprint::UP term, double exactness) return *this; } - -} // namespace queryeval -} // namespace search +} diff --git a/searchlib/src/vespa/searchlib/queryeval/equivsearch.cpp b/searchlib/src/vespa/searchlib/queryeval/equivsearch.cpp index 0d97ade09d1..593701fd14f 100644 --- a/searchlib/src/vespa/searchlib/queryeval/equivsearch.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/equivsearch.cpp @@ -2,8 +2,7 @@ #include "equivsearch.h" -namespace search { -namespace queryeval { +namespace search::queryeval { template <bool strict> class EquivImpl : public OrLikeSearch<strict, NoUnpack> @@ -24,15 +23,15 @@ public: **/ EquivImpl(const MultiSearch::Children &children, fef::MatchData::UP inputMatchData, - const search::fef::TermMatchDataMerger::Inputs &inputs, + const fef::TermMatchDataMerger::Inputs &inputs, const fef::TermFieldMatchDataArray &outputs); }; template<bool strict> EquivImpl<strict>::EquivImpl(const MultiSearch::Children &children, fef::MatchData::UP inputMatchData, - const search::fef::TermMatchDataMerger::Inputs &inputs, - const search::fef::TermFieldMatchDataArray &outputs) + const fef::TermMatchDataMerger::Inputs &inputs, + const fef::TermFieldMatchDataArray &outputs) : OrLikeSearch<strict, NoUnpack>(children, NoUnpack()), _inputMatchData(std::move(inputMatchData)), @@ -54,8 +53,8 @@ EquivImpl<strict>::doUnpack(uint32_t docid) SearchIterator * EquivSearch::create(const Children &children, fef::MatchData::UP inputMatchData, - const search::fef::TermMatchDataMerger::Inputs &inputs, - const search::fef::TermFieldMatchDataArray &outputs, + const fef::TermMatchDataMerger::Inputs &inputs, + const fef::TermFieldMatchDataArray &outputs, bool strict) { if (strict) { @@ -65,5 +64,4 @@ EquivSearch::create(const Children &children, } } -} // namespace queryeval -} // namespace search +} diff --git a/searchlib/src/vespa/searchlib/queryeval/equivsearch.h b/searchlib/src/vespa/searchlib/queryeval/equivsearch.h index 580889c429c..252e17e610a 100644 --- a/searchlib/src/vespa/searchlib/queryeval/equivsearch.h +++ b/searchlib/src/vespa/searchlib/queryeval/equivsearch.h @@ -8,8 +8,7 @@ #include <vespa/searchlib/fef/termfieldmatchdataarray.h> #include <vespa/searchlib/fef/termmatchdatamerger.h> -namespace search { -namespace queryeval { +namespace search::queryeval { /** * A simple implementation of the Equiv search operation. @@ -22,11 +21,9 @@ public: // Caller takes ownership of the returned SearchIterator. static SearchIterator *create(const Children &children, fef::MatchData::UP inputMD, - const search::fef::TermMatchDataMerger::Inputs &inputs, - const search::fef::TermFieldMatchDataArray &outputs, + const fef::TermMatchDataMerger::Inputs &inputs, + const fef::TermFieldMatchDataArray &outputs, bool strict); }; -} // namespace queryeval -} // namespace search - +} diff --git a/searchlib/src/vespa/searchlib/queryeval/fake_result.h b/searchlib/src/vespa/searchlib/queryeval/fake_result.h index ddf1fa61b63..bbae5e027cf 100644 --- a/searchlib/src/vespa/searchlib/queryeval/fake_result.h +++ b/searchlib/src/vespa/searchlib/queryeval/fake_result.h @@ -6,6 +6,7 @@ #include <vespa/searchlib/common/feature.h> #include <vespa/searchlib/common/fslimits.h> #include <vector> +#include <memory> namespace search::queryeval { @@ -42,7 +43,7 @@ public: private: std::vector<Document> _documents; - MinMaxPostingInfo::SP _minMaxPostingInfo; + std::shared_ptr<MinMaxPostingInfo> _minMaxPostingInfo; public: FakeResult(); diff --git a/searchlib/src/vespa/searchlib/queryeval/field_spec.h b/searchlib/src/vespa/searchlib/queryeval/field_spec.h index b274e2c6751..fd3de63cae0 100644 --- a/searchlib/src/vespa/searchlib/queryeval/field_spec.h +++ b/searchlib/src/vespa/searchlib/queryeval/field_spec.h @@ -3,10 +3,13 @@ #pragma once #include <vespa/searchlib/fef/handle.h> -#include <vespa/searchlib/fef/matchdata.h> #include <vespa/vespalib/stllike/string.h> #include <vector> +namespace search::fef { + class MatchData; + class TermFieldMatchData; +} namespace search::queryeval { /** @@ -18,12 +21,8 @@ public: FieldSpecBase(uint32_t fieldId, fef::TermFieldHandle handle, bool isFilter_ = false); // resolve where to put match information for this term/field combination - search::fef::TermFieldMatchData *resolve(search::fef::MatchData &md) const { - return md.resolveTermField(getHandle()); - } - const search::fef::TermFieldMatchData *resolve(const search::fef::MatchData &md) const { - return md.resolveTermField(getHandle()); - } + fef::TermFieldMatchData *resolve(fef::MatchData &md) const; + const fef::TermFieldMatchData *resolve(const fef::MatchData &md) const; uint32_t getFieldId() const { return _fieldId & 0xffffff; } fef::TermFieldHandle getHandle() const { return _handle; } /// a filter produces less detailed match data @@ -45,10 +44,6 @@ public: _name(name) {} - // resolve where to put match information for this term/field combination - search::fef::TermFieldMatchData *resolve(search::fef::MatchData &md) const { - return md.resolveTermField(getHandle()); - } const vespalib::string & getName() const { return _name; } private: vespalib::string _name; // field name diff --git a/searchlib/src/vespa/searchlib/queryeval/field_spec.hpp b/searchlib/src/vespa/searchlib/queryeval/field_spec.hpp new file mode 100644 index 00000000000..e772f95ec19 --- /dev/null +++ b/searchlib/src/vespa/searchlib/queryeval/field_spec.hpp @@ -0,0 +1,19 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#pragma once + +#include "field_spec.h" +#include <vespa/searchlib/fef/matchdata.h> + +namespace search::queryeval { + +inline fef::TermFieldMatchData * +FieldSpecBase::resolve(fef::MatchData &md) const { + return md.resolveTermField(getHandle()); +} +inline const fef::TermFieldMatchData * +FieldSpecBase::resolve(const fef::MatchData &md) const { + return md.resolveTermField(getHandle()); +} + +} diff --git a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp index b40613010dc..1e618d5edf4 100644 --- a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp @@ -7,9 +7,9 @@ #include "nearsearch.h" #include "ranksearch.h" #include "sourceblendersearch.h" -#include "equivsearch.h" #include "termwise_blueprint_helper.h" #include "isourceselector.h" +#include "field_spec.hpp" #include <vespa/searchlib/queryeval/wand/weak_and_search.h> namespace search::queryeval { diff --git a/searchlib/src/vespa/searchlib/queryeval/multisearch.h b/searchlib/src/vespa/searchlib/queryeval/multisearch.h index 4b4cd101e5a..af96734b26a 100644 --- a/searchlib/src/vespa/searchlib/queryeval/multisearch.h +++ b/searchlib/src/vespa/searchlib/queryeval/multisearch.h @@ -3,7 +3,6 @@ #pragma once #include "searchiterator.h" -#include <vector> struct MultiSearchRemoveTest; @@ -32,7 +31,7 @@ public: * this object takes ownership of the children. **/ MultiSearch(const Children & children); - virtual ~MultiSearch(); + virtual ~MultiSearch() override; const Children & getChildren() const { return _children; } virtual bool isAnd() const { return false; } virtual bool isAndNot() const { return false; } diff --git a/searchlib/src/vespa/searchlib/queryeval/orsearch.h b/searchlib/src/vespa/searchlib/queryeval/orsearch.h index d74348feb5e..e3d74573db8 100644 --- a/searchlib/src/vespa/searchlib/queryeval/orsearch.h +++ b/searchlib/src/vespa/searchlib/queryeval/orsearch.h @@ -5,8 +5,7 @@ #include "multisearch.h" #include "unpackinfo.h" -namespace search { -namespace queryeval { +namespace search::queryeval { /** * A simple implementation of the Or search operation. @@ -31,5 +30,4 @@ private: bool isOr() const override { return true; } }; -} // namespace queryeval -} // namespace search +} diff --git a/searchlib/src/vespa/searchlib/queryeval/posting_info.h b/searchlib/src/vespa/searchlib/queryeval/posting_info.h index b7f386475d8..40fb5652d0f 100644 --- a/searchlib/src/vespa/searchlib/queryeval/posting_info.h +++ b/searchlib/src/vespa/searchlib/queryeval/posting_info.h @@ -2,7 +2,6 @@ #pragma once #include <cstdint> -#include <memory> namespace search::queryeval { @@ -30,8 +29,6 @@ private: int32_t _maxWeight; public: - typedef std::unique_ptr<MinMaxPostingInfo> UP; - typedef std::shared_ptr<MinMaxPostingInfo> SP; MinMaxPostingInfo(int32_t minWeight, int32_t maxWeight) : PostingInfo(), _minWeight(minWeight), diff --git a/searchlib/src/vespa/searchlib/queryeval/same_element_blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/same_element_blueprint.cpp index fe4619b16db..b82b7b17dea 100644 --- a/searchlib/src/vespa/searchlib/queryeval/same_element_blueprint.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/same_element_blueprint.cpp @@ -2,6 +2,7 @@ #include "same_element_blueprint.h" #include "same_element_search.h" +#include "field_spec.hpp" #include <vespa/searchlib/fef/termfieldmatchdata.h> #include <vespa/searchlib/attribute/elementiterator.h> #include <vespa/vespalib/objects/visit.hpp> diff --git a/searchlib/src/vespa/searchlib/queryeval/searchiterator.h b/searchlib/src/vespa/searchlib/queryeval/searchiterator.h index 8ea45646af8..afc1bc8ce15 100644 --- a/searchlib/src/vespa/searchlib/queryeval/searchiterator.h +++ b/searchlib/src/vespa/searchlib/queryeval/searchiterator.h @@ -4,7 +4,6 @@ #include "posting_info.h" #include "begin_and_end_id.h" -#include <vespa/searchlib/fef/termfieldmatchdataposition.h> #include <vespa/vespalib/stllike/string.h> #include <vespa/vespalib/util/trinary.h> #include <memory> diff --git a/searchlib/src/vespa/searchlib/queryeval/simple_phrase_blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/simple_phrase_blueprint.cpp index 81e90c399ec..2c63c96695a 100644 --- a/searchlib/src/vespa/searchlib/queryeval/simple_phrase_blueprint.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/simple_phrase_blueprint.cpp @@ -2,6 +2,7 @@ #include "simple_phrase_blueprint.h" #include "simple_phrase_search.h" +#include "field_spec.hpp" #include <vespa/searchlib/fef/termfieldmatchdata.h> #include <vespa/vespalib/objects/visit.hpp> #include <algorithm> diff --git a/searchlib/src/vespa/searchlib/queryeval/test/eagerchild.h b/searchlib/src/vespa/searchlib/queryeval/test/eagerchild.h index db3206ab8a6..372e5f7b2d2 100644 --- a/searchlib/src/vespa/searchlib/queryeval/test/eagerchild.h +++ b/searchlib/src/vespa/searchlib/queryeval/test/eagerchild.h @@ -3,9 +3,7 @@ #include <vespa/searchlib/queryeval/searchiterator.h> -namespace search { -namespace queryeval { -namespace test { +namespace search::queryeval::test { /** * Child iterator that has initial docid > 0. @@ -17,7 +15,4 @@ struct EagerChild : public SearchIterator void doUnpack(uint32_t) override {} }; -} // namespace test -} // namespace queryeval -} // namespace search - +} diff --git a/searchlib/src/vespa/searchlib/queryeval/test/leafspec.h b/searchlib/src/vespa/searchlib/queryeval/test/leafspec.h index b1e3c31e8c4..47b5ed26b60 100644 --- a/searchlib/src/vespa/searchlib/queryeval/test/leafspec.h +++ b/searchlib/src/vespa/searchlib/queryeval/test/leafspec.h @@ -43,9 +43,9 @@ struct LeafSpec return *this; } SearchIterator *create(SearchHistory &hist, fef::TermFieldMatchData *tfmd) const { - if (search != NULL) { + if (search != nullptr) { return new TrackedSearch(name, hist, search); - } else if (tfmd != NULL) { + } else if (tfmd != nullptr) { return new TrackedSearch(name, hist, result, *tfmd, MinMaxPostingInfo(0, maxWeight)); } diff --git a/searchlib/src/vespa/searchlib/queryeval/test/searchhistory.h b/searchlib/src/vespa/searchlib/queryeval/test/searchhistory.h index d57c1ff63cb..172d531e415 100644 --- a/searchlib/src/vespa/searchlib/queryeval/test/searchhistory.h +++ b/searchlib/src/vespa/searchlib/queryeval/test/searchhistory.h @@ -5,9 +5,7 @@ #include <string> #include <vector> -namespace search { -namespace queryeval { -namespace test { +namespace search::queryeval::test { /** * Seek and unpack history for a search iterator. @@ -53,7 +51,4 @@ std::ostream &operator << (std::ostream &out, const SearchHistory &hist) { return out; } -} // namespace test -} // namespace queryeval -} // namespace search - +} diff --git a/searchlib/src/vespa/searchlib/queryeval/test/trackedsearch.h b/searchlib/src/vespa/searchlib/queryeval/test/trackedsearch.h index 2fc5412a4a0..6cb4c1a9dda 100644 --- a/searchlib/src/vespa/searchlib/queryeval/test/trackedsearch.h +++ b/searchlib/src/vespa/searchlib/queryeval/test/trackedsearch.h @@ -16,11 +16,11 @@ namespace search::queryeval::test { class TrackedSearch : public SearchIterator { private: - std::string _name; - SearchHistory &_history; - fef::TermFieldMatchData _matchData; - SearchIterator::UP _search; - MinMaxPostingInfo::UP _minMaxPostingInfo; + std::string _name; + SearchHistory &_history; + fef::TermFieldMatchData _matchData; + SearchIterator::UP _search; + std::unique_ptr<MinMaxPostingInfo> _minMaxPostingInfo; static fef::TermFieldMatchDataArray makeArray(fef::TermFieldMatchData &match) { fef::TermFieldMatchDataArray array; diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp index a0010c7a8f0..7e6c8cf2147 100644 --- a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp @@ -2,13 +2,13 @@ #include "wand_parts.h" #include "parallel_weak_and_blueprint.h" #include "parallel_weak_and_search.h" -#include <vespa/searchlib/fef/termfieldmatchdata.h> +#include <vespa/searchlib/queryeval/field_spec.hpp> #include <vespa/searchlib/queryeval/searchiterator.h> +#include <vespa/searchlib/fef/termfieldmatchdata.h> #include <vespa/vespalib/objects/visit.hpp> #include <algorithm> -namespace search { -namespace queryeval { +namespace search::queryeval { ParallelWeakAndBlueprint::ParallelWeakAndBlueprint(const FieldSpec &field, uint32_t scoresToTrack, @@ -78,8 +78,7 @@ ParallelWeakAndBlueprint::addTerm(Blueprint::UP term, int32_t weight) } SearchIterator::UP -ParallelWeakAndBlueprint::createLeafSearch(const search::fef::TermFieldMatchDataArray &tfmda, - bool strict) const +ParallelWeakAndBlueprint::createLeafSearch(const search::fef::TermFieldMatchDataArray &tfmda, bool strict) const { assert(tfmda.size() == 1); fef::MatchData::UP childrenMatchData = _layout.createMatchData(); @@ -125,5 +124,4 @@ ParallelWeakAndBlueprint::visitMembers(vespalib::ObjectVisitor &visitor) const visit(visitor, "_terms", _terms); } -} // namespace search::queryeval -} // namespace search +} diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.h b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.h index a59cdb8cbf5..842067f9849 100644 --- a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.h +++ b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.h @@ -9,8 +9,7 @@ #include <memory> #include <vector> -namespace search { -namespace queryeval { +namespace search::queryeval { const uint32_t DEFAULT_PARALLEL_WAND_SCORES_ADJUST_FREQUENCY = 4; @@ -45,7 +44,7 @@ public: score_t scoreThreshold, double thresholdBoostFactor, uint32_t scoresAdjustFrequency); - virtual ~ParallelWeakAndBlueprint(); + virtual ~ParallelWeakAndBlueprint() override; const WeakAndHeap &getScores() const { return _scores; } @@ -65,6 +64,4 @@ public: bool always_needs_unpack() const override; }; -} // namespace queryeval -} // namespace search - +} 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 b561292d4ac..ba0812aad48 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 @@ -68,7 +68,7 @@ struct ParallelWeakAndSearch : public SearchIterator 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 create(search::fef::TermFieldMatchData &tmd, + static SearchIterator::UP create(fef::TermFieldMatchData &tmd, const MatchParams &matchParams, const std::vector<int32_t> &weights, const std::vector<IDocumentWeightAttribute::LookupResult> &dict_entries, |