summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-01-31 23:24:50 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2017-01-31 23:24:50 +0100
commit398d495c0e5bbde5ca5417ca2ca31e724486c18f (patch)
tree8bf91f1044708368e73c681c8bfa5f0227cfd282 /searchlib
parentf617123001d2843fed5fa330f0fbc4a1f96f7233 (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.cpp34
-rw-r--r--searchlib/src/vespa/searchlib/fef/indexproperties.h4
-rw-r--r--searchlib/src/vespa/searchlib/fef/ranksetup.cpp63
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