diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-01-31 23:24:50 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-01-31 23:24:50 +0100 |
commit | 398d495c0e5bbde5ca5417ca2ca31e724486c18f (patch) | |
tree | 8bf91f1044708368e73c681c8bfa5f0227cfd282 /searchlib | |
parent | f617123001d2843fed5fa330f0fbc4a1f96f7233 (diff) |
Enable query override for
- vespa.matching.termwise_limit
- vespa.matching.numthreadspersearch
- vespa.matching.numsearchpartitions
- vespa.matching.minhitsperthread
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/fef/indexproperties.cpp | 34 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/fef/indexproperties.h | 4 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/fef/ranksetup.cpp | 63 |
3 files changed, 64 insertions, 37 deletions
diff --git a/searchlib/src/vespa/searchlib/fef/indexproperties.cpp b/searchlib/src/vespa/searchlib/fef/indexproperties.cpp index ca7cf05de37..23874924ddb 100644 --- a/searchlib/src/vespa/searchlib/fef/indexproperties.cpp +++ b/searchlib/src/vespa/searchlib/fef/indexproperties.cpp @@ -1,9 +1,7 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/fastos/fastos.h> #include "indexproperties.h" #include "properties.h" -#include <limits> namespace search { namespace fef { @@ -141,7 +139,13 @@ const double TermwiseLimit::DEFAULT_VALUE(1.0); double TermwiseLimit::lookup(const Properties &props) { - return lookupDouble(props, NAME, DEFAULT_VALUE); + return lookup(props, DEFAULT_VALUE); +} + +double +TermwiseLimit::lookup(const Properties &props, double defaultValue) +{ + return lookupDouble(props, NAME, defaultValue); } const vespalib::string NumThreadsPerSearch::NAME("vespa.matching.numthreadspersearch"); @@ -150,7 +154,13 @@ const uint32_t NumThreadsPerSearch::DEFAULT_VALUE(std::numeric_limits<uint32_t>: uint32_t NumThreadsPerSearch::lookup(const Properties &props) { - return lookupUint32(props, NAME, DEFAULT_VALUE); + return lookup(props, DEFAULT_VALUE); +} + +uint32_t +NumThreadsPerSearch::lookup(const Properties &props, uint32_t defaultValue) +{ + return lookupUint32(props, NAME, defaultValue); } const vespalib::string NumSearchPartitions::NAME("vespa.matching.numsearchpartitions"); @@ -159,7 +169,13 @@ const uint32_t NumSearchPartitions::DEFAULT_VALUE(1); uint32_t NumSearchPartitions::lookup(const Properties &props) { - return lookupUint32(props, NAME, DEFAULT_VALUE); + return lookup(props, DEFAULT_VALUE); +} + +uint32_t +NumSearchPartitions::lookup(const Properties &props, uint32_t defaultValue) +{ + return lookupUint32(props, NAME, defaultValue); } const vespalib::string MinHitsPerThread::NAME("vespa.matching.minhitsperthread"); @@ -168,7 +184,13 @@ const uint32_t MinHitsPerThread::DEFAULT_VALUE(0); uint32_t MinHitsPerThread::lookup(const Properties &props) { - return lookupUint32(props, NAME, DEFAULT_VALUE); + return lookup(props, DEFAULT_VALUE); +} + +uint32_t +MinHitsPerThread::lookup(const Properties &props, uint32_t defaultValue) +{ + return lookupUint32(props, NAME, defaultValue); } } // namespace matching diff --git a/searchlib/src/vespa/searchlib/fef/indexproperties.h b/searchlib/src/vespa/searchlib/fef/indexproperties.h index 7a1818a1cd4..2a37f2f93fd 100644 --- a/searchlib/src/vespa/searchlib/fef/indexproperties.h +++ b/searchlib/src/vespa/searchlib/fef/indexproperties.h @@ -92,6 +92,7 @@ namespace matching { static const vespalib::string NAME; static const double DEFAULT_VALUE; static double lookup(const Properties &props); + static double lookup(const Properties &props, double defaultValue); }; /** @@ -101,6 +102,7 @@ namespace matching { static const vespalib::string NAME; static const uint32_t DEFAULT_VALUE; static uint32_t lookup(const Properties &props); + static uint32_t lookup(const Properties &props, uint32_t defaultValue); }; /** * Property for the minimum number of hits per thread. @@ -109,6 +111,7 @@ namespace matching { static const vespalib::string NAME; static const uint32_t DEFAULT_VALUE; static uint32_t lookup(const Properties &props); + static uint32_t lookup(const Properties &props, uint32_t defaultValue); }; /** * Property for the number of partitions inside the docid space. @@ -118,6 +121,7 @@ namespace matching { static const vespalib::string NAME; static const uint32_t DEFAULT_VALUE; static uint32_t lookup(const Properties &props); + static uint32_t lookup(const Properties &props, uint32_t defaultValue); }; } diff --git a/searchlib/src/vespa/searchlib/fef/ranksetup.cpp b/searchlib/src/vespa/searchlib/fef/ranksetup.cpp index 45c3bafd640..d3262a7d2d8 100644 --- a/searchlib/src/vespa/searchlib/fef/ranksetup.cpp +++ b/searchlib/src/vespa/searchlib/fef/ranksetup.cpp @@ -1,13 +1,12 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/fastos/fastos.h> -#include <vespa/log/log.h> -LOG_SETUP(".fef.ranksetup"); #include "ranksetup.h" -#include "idumpfeaturevisitor.h" #include "indexproperties.h" #include "featurenameparser.h" +#include <vespa/log/log.h> +LOG_SETUP(".fef.ranksetup"); + namespace { class VisitorAdapter : public search::fef::IDumpFeatureVisitor { @@ -23,6 +22,8 @@ public: namespace search { namespace fef { + +using namespace indexproperties; RankSetup::RankSetup(const BlueprintFactory &factory, const IIndexEnvironment &indexEnv) : _factory(factory), @@ -65,39 +66,39 @@ RankSetup::~RankSetup() { } void RankSetup::configure() { - setFirstPhaseRank(indexproperties::rank::FirstPhase::lookup(_indexEnv.getProperties())); - setSecondPhaseRank(indexproperties::rank::SecondPhase::lookup(_indexEnv.getProperties())); - std::vector<vespalib::string> summaryFeatures = indexproperties::summary::Feature::lookup(_indexEnv.getProperties()); + setFirstPhaseRank(rank::FirstPhase::lookup(_indexEnv.getProperties())); + setSecondPhaseRank(rank::SecondPhase::lookup(_indexEnv.getProperties())); + std::vector<vespalib::string> summaryFeatures = summary::Feature::lookup(_indexEnv.getProperties()); for (uint32_t i = 0; i < summaryFeatures.size(); ++i) { addSummaryFeature(summaryFeatures[i]); } - setIgnoreDefaultRankFeatures(indexproperties::dump::IgnoreDefaultFeatures::check(_indexEnv.getProperties())); - std::vector<vespalib::string> dumpFeatures = indexproperties::dump::Feature::lookup(_indexEnv.getProperties()); + setIgnoreDefaultRankFeatures(dump::IgnoreDefaultFeatures::check(_indexEnv.getProperties())); + std::vector<vespalib::string> dumpFeatures = dump::Feature::lookup(_indexEnv.getProperties()); for (uint32_t i = 0; i < dumpFeatures.size(); ++i) { addDumpFeature(dumpFeatures[i]); } - set_termwise_limit(indexproperties::matching::TermwiseLimit::lookup(_indexEnv.getProperties())); - setNumThreadsPerSearch(indexproperties::matching::NumThreadsPerSearch::lookup(_indexEnv.getProperties())); - setMinHitsPerThread(indexproperties::matching::MinHitsPerThread::lookup(_indexEnv.getProperties())); - setNumSearchPartitions(indexproperties::matching::NumSearchPartitions::lookup(_indexEnv.getProperties())); - setHeapSize(indexproperties::hitcollector::HeapSize::lookup(_indexEnv.getProperties())); - setArraySize(indexproperties::hitcollector::ArraySize::lookup(_indexEnv.getProperties())); - setDegradationAttribute(indexproperties::matchphase::DegradationAttribute::lookup(_indexEnv.getProperties())); - setDegradationOrderAscending(indexproperties::matchphase::DegradationAscendingOrder::lookup(_indexEnv.getProperties())); - setDegradationMaxHits(indexproperties::matchphase::DegradationMaxHits::lookup(_indexEnv.getProperties())); - setDegradationMaxFilterCoverage(indexproperties::matchphase::DegradationMaxFilterCoverage::lookup(_indexEnv.getProperties())); - setDegradationSamplePercentage(indexproperties::matchphase::DegradationSamplePercentage::lookup(_indexEnv.getProperties())); - setDegradationPostFilterMultiplier(indexproperties::matchphase::DegradationPostFilterMultiplier::lookup(_indexEnv.getProperties())); - setDiversityAttribute(indexproperties::matchphase::DiversityAttribute::lookup(_indexEnv.getProperties())); - setDiversityMinGroups(indexproperties::matchphase::DiversityMinGroups::lookup(_indexEnv.getProperties())); - setDiversityCutoffFactor(indexproperties::matchphase::DiversityCutoffFactor::lookup(_indexEnv.getProperties())); - setDiversityCutoffStrategy(indexproperties::matchphase::DiversityCutoffStrategy::lookup(_indexEnv.getProperties())); - setEstimatePoint(indexproperties::hitcollector::EstimatePoint::lookup(_indexEnv.getProperties())); - setEstimateLimit(indexproperties::hitcollector::EstimateLimit::lookup(_indexEnv.getProperties())); - setRankScoreDropLimit(indexproperties::hitcollector::RankScoreDropLimit::lookup(_indexEnv.getProperties())); - setSoftTimeoutEnabled(indexproperties::softtimeout::Enabled::lookup(_indexEnv.getProperties())); - setSoftTimeoutTailCost(indexproperties::softtimeout::TailCost::lookup(_indexEnv.getProperties())); - setSoftTimeoutFactor(indexproperties::softtimeout::Factor::lookup(_indexEnv.getProperties())); + set_termwise_limit(matching::TermwiseLimit::lookup(_indexEnv.getProperties())); + setNumThreadsPerSearch(matching::NumThreadsPerSearch::lookup(_indexEnv.getProperties())); + setMinHitsPerThread(matching::MinHitsPerThread::lookup(_indexEnv.getProperties())); + setNumSearchPartitions(matching::NumSearchPartitions::lookup(_indexEnv.getProperties())); + setHeapSize(hitcollector::HeapSize::lookup(_indexEnv.getProperties())); + setArraySize(hitcollector::ArraySize::lookup(_indexEnv.getProperties())); + setDegradationAttribute(matchphase::DegradationAttribute::lookup(_indexEnv.getProperties())); + setDegradationOrderAscending(matchphase::DegradationAscendingOrder::lookup(_indexEnv.getProperties())); + setDegradationMaxHits(matchphase::DegradationMaxHits::lookup(_indexEnv.getProperties())); + setDegradationMaxFilterCoverage(matchphase::DegradationMaxFilterCoverage::lookup(_indexEnv.getProperties())); + setDegradationSamplePercentage(matchphase::DegradationSamplePercentage::lookup(_indexEnv.getProperties())); + setDegradationPostFilterMultiplier(matchphase::DegradationPostFilterMultiplier::lookup(_indexEnv.getProperties())); + setDiversityAttribute(matchphase::DiversityAttribute::lookup(_indexEnv.getProperties())); + setDiversityMinGroups(matchphase::DiversityMinGroups::lookup(_indexEnv.getProperties())); + setDiversityCutoffFactor(matchphase::DiversityCutoffFactor::lookup(_indexEnv.getProperties())); + setDiversityCutoffStrategy(matchphase::DiversityCutoffStrategy::lookup(_indexEnv.getProperties())); + setEstimatePoint(hitcollector::EstimatePoint::lookup(_indexEnv.getProperties())); + setEstimateLimit(hitcollector::EstimateLimit::lookup(_indexEnv.getProperties())); + setRankScoreDropLimit(hitcollector::RankScoreDropLimit::lookup(_indexEnv.getProperties())); + setSoftTimeoutEnabled(softtimeout::Enabled::lookup(_indexEnv.getProperties())); + setSoftTimeoutTailCost(softtimeout::TailCost::lookup(_indexEnv.getProperties())); + setSoftTimeoutFactor(softtimeout::Factor::lookup(_indexEnv.getProperties())); } void |