summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--searchcommon/src/vespa/searchcommon/attribute/CMakeLists.txt1
-rw-r--r--searchcommon/src/vespa/searchcommon/attribute/search_context_params.cpp19
-rw-r--r--searchcommon/src/vespa/searchcommon/attribute/search_context_params.h46
-rw-r--r--searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp20
-rw-r--r--searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastore.cpp13
-rw-r--r--searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastore.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/documentmetastore/lid_allocator.cpp12
-rw-r--r--searchlib/src/tests/attribute/attributesearcher.h6
-rw-r--r--searchlib/src/tests/attribute/bitvector/bitvector_test.cpp17
-rw-r--r--searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp20
-rw-r--r--searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.cpp6
-rw-r--r--searchlib/src/tests/attribute/searchcontext/searchcontext.cpp2
-rw-r--r--searchlib/src/tests/queryeval/queryeval.cpp7
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp10
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributevector.cpp10
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributevector.h37
-rw-r--r--searchlib/src/vespa/searchlib/attribute/extendableattributes.h8
-rw-r--r--searchlib/src/vespa/searchlib/attribute/flagattribute.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/flagattribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multinumericattribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multinumericattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multistringattribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multistringattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multistringpostattribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multistringpostattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlenumericattribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlenumericattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlestringattribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlestringattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/stringbase.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/stringbase.h2
46 files changed, 165 insertions, 129 deletions
diff --git a/searchcommon/src/vespa/searchcommon/attribute/CMakeLists.txt b/searchcommon/src/vespa/searchcommon/attribute/CMakeLists.txt
index 5343a9eac69..500ee87bf87 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/CMakeLists.txt
+++ b/searchcommon/src/vespa/searchcommon/attribute/CMakeLists.txt
@@ -4,6 +4,7 @@ vespa_add_library(searchcommon_searchcommon_attribute OBJECT
basictype.cpp
collectiontype.cpp
config.cpp
+ search_context_params.cpp
status.cpp
DEPENDS
)
diff --git a/searchcommon/src/vespa/searchcommon/attribute/search_context_params.cpp b/searchcommon/src/vespa/searchcommon/attribute/search_context_params.cpp
new file mode 100644
index 00000000000..dccfb6c6b27
--- /dev/null
+++ b/searchcommon/src/vespa/searchcommon/attribute/search_context_params.cpp
@@ -0,0 +1,19 @@
+// Copyright 2017 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#include <vespa/fastos/fastos.h>
+#include "search_context_params.h"
+#include <limits>
+
+namespace search {
+namespace attribute {
+
+SearchContextParams::SearchContextParams()
+ : _diversityAttribute(nullptr),
+ _diversityCutoffGroups(std::numeric_limits<uint32_t>::max()),
+ _useBitVector(false),
+ _diversityCutoffStrict(false)
+{
+}
+
+}
+}
diff --git a/searchcommon/src/vespa/searchcommon/attribute/search_context_params.h b/searchcommon/src/vespa/searchcommon/attribute/search_context_params.h
new file mode 100644
index 00000000000..d15a97629f0
--- /dev/null
+++ b/searchcommon/src/vespa/searchcommon/attribute/search_context_params.h
@@ -0,0 +1,46 @@
+// Copyright 2017 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#pragma once
+
+namespace search {
+namespace attribute {
+
+class IAttributeVector;
+
+/**
+ * Params used to specify diversity and bitvector settings when creating a search context.
+ */
+class SearchContextParams {
+private:
+ const IAttributeVector * _diversityAttribute;
+ size_t _diversityCutoffGroups;
+ bool _useBitVector;
+ bool _diversityCutoffStrict;
+
+public:
+ SearchContextParams();
+ bool useBitVector() const { return _useBitVector; }
+ const IAttributeVector * diversityAttribute() const { return _diversityAttribute; }
+ size_t diversityCutoffGroups() const { return _diversityCutoffGroups; }
+ bool diversityCutoffStrict() const { return _diversityCutoffStrict; }
+
+ SearchContextParams &useBitVector(bool value) {
+ _useBitVector = value;
+ return *this;
+ }
+ SearchContextParams &diversityAttribute(const IAttributeVector *value) {
+ _diversityAttribute = value;
+ return *this;
+ }
+ SearchContextParams &diversityCutoffGroups(size_t groups) {
+ _diversityCutoffGroups = groups;
+ return *this;
+ }
+ SearchContextParams &diversityCutoffStrict(bool strict) {
+ _diversityCutoffStrict = strict;
+ return *this;
+ }
+};
+
+}
+}
diff --git a/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp b/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp
index 957dd7ca4da..868189272f3 100644
--- a/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp
+++ b/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp
@@ -21,28 +21,29 @@
LOG_SETUP("documentmetastore_test");
using namespace document;
-using search::AttributeVector;
-using search::AttributeGuard;
+using proton::bucketdb::BucketState;
using search::AttributeFileSaveTarget;
+using search::AttributeGuard;
+using search::AttributeVector;
using search::DocumentMetaData;
-using vespalib::GenerationHandler;
-using vespalib::GenerationHolder;
using search::GrowStrategy;
using search::LidUsageStats;
using search::QueryTermSimple;
using search::SingleValueBitNumericAttribute;
+using search::TuneFileAttributes;
+using search::attribute::SearchContextParams;
using search::fef::MatchData;
using search::fef::MatchDataLayout;
using search::fef::TermFieldMatchData;
+using search::index::DummyFileHeaderContext;
using search::queryeval::Blueprint;
using search::queryeval::SearchIterator;
using search::queryeval::SimpleResult;
-using storage::spi::Timestamp;
using storage::spi::BucketChecksum;
using storage::spi::BucketInfo;
-using search::TuneFileAttributes;
-using search::index::DummyFileHeaderContext;
-using proton::bucketdb::BucketState;
+using storage::spi::Timestamp;
+using vespalib::GenerationHandler;
+using vespalib::GenerationHolder;
namespace proton {
@@ -212,8 +213,7 @@ assertSearchResult(const SimpleResult &exp, const DocumentMetaStore &dms,
bool strict, uint32_t docIdLimit = 100)
{
AttributeVector::SearchContext::UP sc =
- dms.getSearch(QueryTermSimple::UP(new QueryTermSimple(term, termType)),
- AttributeVector::SearchContext::Params());
+ dms.getSearch(QueryTermSimple::UP(new QueryTermSimple(term, termType)), SearchContextParams());
TermFieldMatchData tfmd;
SearchIterator::UP sb = sc->createIterator(&tfmd, strict);
SimpleResult act;
diff --git a/searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastore.cpp b/searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastore.cpp
index 0792ff27ed9..5fc4dceea7a 100644
--- a/searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastore.cpp
+++ b/searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastore.cpp
@@ -21,24 +21,25 @@
#include "document_meta_store_versions.h"
-using document::GlobalId;
using document::BucketId;
+using document::GlobalId;
+using proton::bucketdb::BucketState;
using search::AttributeVector;
using search::FileReader;
-using vespalib::GenerationHandler;
using search::GrowStrategy;
using search::IAttributeSaveTarget;
using search::LidUsageStats;
using search::MemoryUsage;
-using search::fef::TermFieldMatchData;
+using search::attribute::SearchContextParams;
using search::btree::BTreeNoLeafData;
+using search::fef::TermFieldMatchData;
using search::queryeval::Blueprint;
using search::queryeval::SearchIterator;
using storage::spi::Timestamp;
-using proton::bucketdb::BucketState;
+using vespalib::GenerationHandler;
+using vespalib::GenerationHeldBase;
using vespalib::IllegalStateException;
using vespalib::make_string;
-using vespalib::GenerationHeldBase;
namespace proton {
@@ -773,7 +774,7 @@ DocumentMetaStore::createBlackListBlueprint() const
}
AttributeVector::SearchContext::UP
-DocumentMetaStore::getSearch(std::unique_ptr<search::QueryTermSimple> qTerm, const AttributeVector::SearchContext::Params &) const
+DocumentMetaStore::getSearch(std::unique_ptr<search::QueryTermSimple> qTerm, const SearchContextParams &) const
{
return AttributeVector::SearchContext::UP
(new documentmetastore::SearchContext(std::move(qTerm), *this));
diff --git a/searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastore.h b/searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastore.h
index 899b80fc40c..789706503cf 100644
--- a/searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastore.h
+++ b/searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastore.h
@@ -215,7 +215,7 @@ public:
*/
SearchContext::UP
getSearch(std::unique_ptr<search::QueryTermSimple> qTerm,
- const search::AttributeVector::SearchContext::Params & params)
+ const search::attribute::SearchContextParams &params)
const override;
/**
diff --git a/searchcore/src/vespa/searchcore/proton/documentmetastore/lid_allocator.cpp b/searchcore/src/vespa/searchcore/proton/documentmetastore/lid_allocator.cpp
index 27e5dda1358..653e27bda1a 100644
--- a/searchcore/src/vespa/searchcore/proton/documentmetastore/lid_allocator.cpp
+++ b/searchcore/src/vespa/searchcore/proton/documentmetastore/lid_allocator.cpp
@@ -5,15 +5,16 @@
#include <vespa/log/log.h>
LOG_SETUP(".proton.documentmetastore.lid_allocator");
+using search::AttributeVector;
+using search::GrowStrategy;
+using search::QueryTermSimple;
+using search::attribute::SearchContextParams;
using search::fef::TermFieldMatchDataArray;
using search::queryeval::Blueprint;
using search::queryeval::FieldSpecBaseList;
-using search::queryeval::SimpleLeafBlueprint;
using search::queryeval::SearchIterator;
-using search::AttributeVector;
+using search::queryeval::SimpleLeafBlueprint;
using vespalib::GenerationHolder;
-using search::QueryTermSimple;
-using search::GrowStrategy;
namespace proton {
namespace documentmetastore {
@@ -268,8 +269,7 @@ LidAllocator::createBlackListBlueprint() const
{
QueryTermSimple::UP term(new QueryTermSimple("0", QueryTermSimple::WORD));
return Blueprint::UP(
- new BlackListBlueprint(_activeLids.getSearch(std::move(term),
- AttributeVector::SearchContext::Params())));
+ new BlackListBlueprint(_activeLids.getSearch(std::move(term), SearchContextParams())));
}
void
diff --git a/searchlib/src/tests/attribute/attributesearcher.h b/searchlib/src/tests/attribute/attributesearcher.h
index e6db62ca0e6..0978411c974 100644
--- a/searchlib/src/tests/attribute/attributesearcher.h
+++ b/searchlib/src/tests/attribute/attributesearcher.h
@@ -131,7 +131,7 @@ AttributeFindSearcher<T>::doRun()
AttributeGuard guard(_attrPtr);
std::unique_ptr<AttributeVector::SearchContext> searchContext =
_attrPtr->getSearch(vespalib::stringref(&_query[0], _query.size()),
- AttributeVector::SearchContext::Params());
+ attribute::SearchContextParams());
searchContext->fetchPostings(true);
std::unique_ptr<queryeval::SearchIterator> iterator = searchContext->createIterator(NULL, true);
@@ -209,7 +209,7 @@ AttributeRangeSearcher::doRun()
AttributeGuard guard(_attrPtr);
std::unique_ptr<AttributeVector::SearchContext> searchContext =
_attrPtr->getSearch(vespalib::stringref(&_query[0], _query.size()),
- AttributeVector::SearchContext::Params());
+ attribute::SearchContextParams());
searchContext->fetchPostings(true);
std::unique_ptr<queryeval::SearchIterator> iterator = searchContext->createIterator(NULL, true);
@@ -248,7 +248,7 @@ AttributePrefixSearcher::doRun()
AttributeGuard guard(_attrPtr);
std::unique_ptr<AttributeVector::SearchContext> searchContext =
_attrPtr->getSearch(vespalib::stringref(&_query[0], _query.size()),
- AttributeVector::SearchContext::Params());
+ attribute::SearchContextParams());
searchContext->fetchPostings(true);
std::unique_ptr<queryeval::SearchIterator> iterator = searchContext->createIterator(NULL, true);
diff --git a/searchlib/src/tests/attribute/bitvector/bitvector_test.cpp b/searchlib/src/tests/attribute/bitvector/bitvector_test.cpp
index 1c2ca360bd8..c082d1788ca 100644
--- a/searchlib/src/tests/attribute/bitvector/bitvector_test.cpp
+++ b/searchlib/src/tests/attribute/bitvector/bitvector_test.cpp
@@ -19,18 +19,19 @@
#include <vespa/log/log.h>
LOG_SETUP("bitvector_test");
-using search::attribute::BasicType;
-using search::attribute::CollectionType;
-using search::attribute::Config;
using search::AttributeFactory;
+using search::AttributeVector;
+using search::BitVector;
+using search::BitVectorIterator;
using search::FloatingPointAttribute;
using search::IntegerAttribute;
-using search::StringAttribute;
-using search::AttributeVector;
using search::ParseItem;
+using search::StringAttribute;
+using search::attribute::BasicType;
+using search::attribute::CollectionType;
+using search::attribute::Config;
+using search::attribute::SearchContextParams;
using search::fef::TermFieldMatchData;
-using search::BitVector;
-using search::BitVectorIterator;
using search::queryeval::SearchIterator;
typedef std::unique_ptr<AttributeVector::SearchContext> SearchContextPtr;
@@ -210,7 +211,7 @@ BitVectorTest::getSearch(const V &vec, const T &term, bool prefix,
return (static_cast<const AttributeVector &>(vec)).
getSearch(vespalib::stringref(&query[0], query.size()),
- AttributeVector::SearchContext::Params().useBitVector(useBitVector));
+ SearchContextParams().useBitVector(useBitVector));
}
diff --git a/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp b/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp
index c57bf0ba87c..58db1d11fec 100644
--- a/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp
+++ b/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp
@@ -28,20 +28,20 @@
#include <iostream>
#include <cmath>
-
-using search::attribute::BasicType;
-using search::attribute::CollectionType;
-using search::attribute::Config;
using search::AttributeFactory;
+using search::AttributeMemoryFileBufferWriter;
+using search::BufferWriter;
using search::FloatingPointAttribute;
+using search::IAttributeFileWriter;
using search::IntegerAttribute;
-using search::StringAttribute;
-using search::RandomGenerator;
using search::ParseItem;
+using search::RandomGenerator;
+using search::StringAttribute;
+using search::attribute::BasicType;
+using search::attribute::CollectionType;
+using search::attribute::Config;
+using search::attribute::SearchContextParams;
using search::fef::TermFieldMatchData;
-using search::IAttributeFileWriter;
-using search::BufferWriter;
-using search::AttributeMemoryFileBufferWriter;
typedef std::unique_ptr<AttributeVector::SearchContext> SearchContextPtr;
typedef std::unique_ptr<search::queryeval::SearchIterator> SearchBasePtr;
@@ -536,7 +536,7 @@ EnumeratedSaveTest::getSearch(const V &vec, const T &term, bool prefix)
return (static_cast<const AttributeVector &>(vec)).
getSearch(vespalib::stringref(&query[0], query.size()),
- AttributeVector::SearchContext::Params());
+ SearchContextParams());
}
diff --git a/searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.cpp b/searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.cpp
index b8285066184..92effde5686 100644
--- a/searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.cpp
+++ b/searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.cpp
@@ -121,7 +121,7 @@ private:
void buildTermQuery(std::vector<char> & buffer, const vespalib::string & index, const vespalib::string & term, bool prefix);
template <typename V, typename T>
- SearchContextPtr getSearch(const V & vec, const T & term, bool prefix, const AttributeVector::SearchContext::Params & params=AttributeVector::SearchContext::Params());
+ SearchContextPtr getSearch(const V & vec, const T & term, bool prefix, const attribute::SearchContextParams & params=attribute::SearchContextParams());
template <typename V>
SearchContextPtr getSearch(const V & vec);
@@ -327,7 +327,7 @@ PostingListAttributeTest::buildTermQuery(std::vector<char> &buffer,
template <typename V, typename T>
SearchContextPtr
-PostingListAttributeTest::getSearch(const V &vec, const T &term, bool prefix, const AttributeVector::SearchContext::Params & params)
+PostingListAttributeTest::getSearch(const V &vec, const T &term, bool prefix, const attribute::SearchContextParams & params)
{
std::vector<char> query;
vespalib::asciistream ss;
@@ -477,7 +477,7 @@ template <typename BufferType>
void
PostingListAttributeTest::checkSearch(bool useBitVector, const AttributeVector & vec, const BufferType & term, uint32_t numHits, uint32_t docBegin, uint32_t docEnd)
{
- SearchContextPtr sc = getSearch(vec, term, false, AttributeVector::SearchContext::Params().useBitVector(useBitVector));
+ SearchContextPtr sc = getSearch(vec, term, false, attribute::SearchContextParams().useBitVector(useBitVector));
EXPECT_FALSE( ! sc );
sc->fetchPostings(true);
size_t approx = sc->approximateHits();
diff --git a/searchlib/src/tests/attribute/searchcontext/searchcontext.cpp b/searchlib/src/tests/attribute/searchcontext/searchcontext.cpp
index 32da1743343..ae4d8b91387 100644
--- a/searchlib/src/tests/attribute/searchcontext/searchcontext.cpp
+++ b/searchlib/src/tests/attribute/searchcontext/searchcontext.cpp
@@ -424,7 +424,7 @@ SearchContextTest::getSearch(const V & vec, const T & term, QueryTermSimple::Sea
return (dynamic_cast<const AttributeVector &>(vec)).
getSearch(vespalib::stringref(&query[0], query.size()),
- AttributeVector::SearchContext::Params());
+ attribute::SearchContextParams());
}
ResultSetPtr
diff --git a/searchlib/src/tests/queryeval/queryeval.cpp b/searchlib/src/tests/queryeval/queryeval.cpp
index d9212207987..e8eed9e50ff 100644
--- a/searchlib/src/tests/queryeval/queryeval.cpp
+++ b/searchlib/src/tests/queryeval/queryeval.cpp
@@ -22,11 +22,12 @@
#include <vespa/searchlib/fef/fef.h>
using namespace search::queryeval;
+using search::BitVector;
+using search::BitVectorIterator;
+using search::attribute::SearchContextParams;
using search::fef::MatchData;
using search::fef::TermFieldMatchData;
using search::fef::TermFieldMatchDataArray;
-using search::BitVector;
-using search::BitVectorIterator;
using search::test::InitRangeVerifier;
//-----------------------------------------------------------------------------
@@ -333,7 +334,7 @@ public:
}
_a.commit();
_sc = _a.getSearch(search::QueryTermSimple::UP(new search::QueryTermSimple("1", search::QueryTermSimple::WORD)),
- search::AttributeVector::SearchContext::Params().useBitVector(true));
+ SearchContextParams().useBitVector(true));
}
virtual SearchIterator::UP
createLeafSearch(const TermFieldMatchDataArray &tfmda, bool strict) const
diff --git a/searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp b/searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp
index a6c554e01b7..8023270446a 100644
--- a/searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp
@@ -82,7 +82,7 @@ private:
AttributeFieldBlueprint(const FieldSpec &field,
const AttributeVector &attribute,
const string &query_stack,
- const AttributeVector::SearchContext::Params &params)
+ const attribute::SearchContextParams &params)
: SimpleLeafBlueprint(field),
_search_context(attribute.getSearch(query_stack, params).release())
{
@@ -98,7 +98,7 @@ public:
: AttributeFieldBlueprint(field,
attribute,
query_stack,
- AttributeVector::SearchContext::Params()
+ attribute::SearchContextParams()
.useBitVector(field.isFilter()))
{
}
@@ -112,7 +112,7 @@ public:
: AttributeFieldBlueprint(field,
attribute,
query_stack,
- AttributeVector::SearchContext::Params()
+ attribute::SearchContextParams()
.diversityAttribute(&diversity)
.useBitVector(field.isFilter())
.diversityCutoffGroups(diversityCutoffGroups)
@@ -174,7 +174,7 @@ public:
search::query::Range qr(r.min(), r.max());
search::query::SimpleRangeTerm rt(qr, "", 0, search::query::Weight(0));
string stack(StackDumpCreator::create(rt));
- _rangeSearches.push_back(attr.getSearch(stack, AttributeVector::SearchContext::Params()));
+ _rangeSearches.push_back(attr.getSearch(stack, attribute::SearchContextParams()));
estHits += _rangeSearches.back()->approximateHits();
LOG(debug, "Range '%s' estHits %ld", qr.getRangeString().c_str(), estHits);
}
@@ -570,7 +570,7 @@ public:
} else {
qt.reset(new search::QueryTermBase(term, search::QueryTermSimple::WORD));
}
- ws->addToken(_attr.getSearch(std::move(qt), AttributeVector::SearchContext::Params()), weight);
+ ws->addToken(_attr.getSearch(std::move(qt), attribute::SearchContextParams()), weight);
}
setResult(std::move(result));
} else {
diff --git a/searchlib/src/vespa/searchlib/attribute/attributevector.cpp b/searchlib/src/vespa/searchlib/attribute/attributevector.cpp
index 8d4b437e8b5..7a8c44a7a19 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributevector.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attributevector.cpp
@@ -28,6 +28,7 @@ using document::ValueUpdate;
using vespalib::make_string;
using vespalib::Array;
using vespalib::IllegalStateException;
+using search::attribute::SearchContextParams;
using search::common::FileHeaderContext;
using search::index::DummyFileHeaderContext;
using search::queryeval::SearchIterator;
@@ -541,12 +542,7 @@ int32_t AttributeVector::getWeight(DocId, uint32_t) const { return 1; }
bool AttributeVector::findEnum(const char *, EnumHandle &) const { return false; }
-AttributeVector::SearchContext::Params::Params() :
- _diversityAttribute(nullptr),
- _diversityCutoffGroups(std::numeric_limits<uint32_t>::max()),
- _useBitVector(false),
- _diversityCutoffStrict(false)
-{ }
+
AttributeVector::SearchContext::SearchContext(const AttributeVector &attr) :
_attr(attr),
@@ -554,7 +550,7 @@ AttributeVector::SearchContext::SearchContext(const AttributeVector &attr) :
{ }
AttributeVector::SearchContext::UP
-AttributeVector::getSearch(QueryPacketT searchSpec, const SearchContext::Params & params) const
+AttributeVector::getSearch(QueryPacketT searchSpec, const SearchContextParams &params) const
{
return getSearch(SearchContext::decodeQuery(searchSpec), params);
}
diff --git a/searchlib/src/vespa/searchlib/attribute/attributevector.h b/searchlib/src/vespa/searchlib/attribute/attributevector.h
index e2f1dee567f..f82a66942c1 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributevector.h
+++ b/searchlib/src/vespa/searchlib/attribute/attributevector.h
@@ -9,6 +9,7 @@
#include <vespa/searchcommon/attribute/config.h>
#include <vespa/searchcommon/attribute/i_search_context.h>
#include <vespa/searchcommon/attribute/iattributevector.h>
+#include <vespa/searchcommon/attribute/search_context_params.h>
#include <vespa/searchcommon/attribute/status.h>
#include <vespa/searchcommon/common/range.h>
#include <vespa/searchcommon/common/undefinedvalues.h>
@@ -520,37 +521,7 @@ public:
public:
SearchContext(const SearchContext &) = delete;
SearchContext & operator = (const SearchContext &) = delete;
- class Params {
- using IAttributeVector = attribute::IAttributeVector;
- public:
- Params();
- bool useBitVector() const { return _useBitVector; }
- const IAttributeVector * diversityAttribute() const { return _diversityAttribute; }
- size_t diversityCutoffGroups() const { return _diversityCutoffGroups; }
- bool diversityCutoffStrict() const { return _diversityCutoffStrict; }
-
- Params & useBitVector(bool value) {
- _useBitVector = value;
- return *this;
- }
- Params & diversityAttribute(const IAttributeVector * value) {
- _diversityAttribute = value;
- return *this;
- }
- Params & diversityCutoffGroups(size_t groups) {
- _diversityCutoffGroups = groups;
- return *this;
- }
- Params & diversityCutoffStrict(bool strict) {
- _diversityCutoffStrict = strict;
- return *this;
- }
- private:
- const IAttributeVector * _diversityAttribute;
- size_t _diversityCutoffGroups;
- bool _useBitVector;
- bool _diversityCutoffStrict;
- };
+
typedef std::unique_ptr<SearchContext> UP;
~SearchContext();
unsigned int approximateHits() const override;
@@ -614,8 +585,8 @@ public:
bool getIsFilter() const { return _attr.getConfig().getIsFilter(); }
};
- SearchContext::UP getSearch(QueryPacketT searchSpec, const SearchContext::Params & params) const;
- virtual SearchContext::UP getSearch(QueryTermSimpleUP term, const SearchContext::Params & params) const = 0;
+ SearchContext::UP getSearch(QueryPacketT searchSpec, const attribute::SearchContextParams &params) const;
+ virtual SearchContext::UP getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams &params) const = 0;
virtual const EnumStoreBase *getEnumStoreBase() const;
virtual const attribute::MultiValueMappingBase *getMultiValueBase() const;
private:
diff --git a/searchlib/src/vespa/searchlib/attribute/extendableattributes.h b/searchlib/src/vespa/searchlib/attribute/extendableattributes.h
index 114ff0415aa..b98246b174d 100644
--- a/searchlib/src/vespa/searchlib/attribute/extendableattributes.h
+++ b/searchlib/src/vespa/searchlib/attribute/extendableattributes.h
@@ -40,7 +40,7 @@ class SingleExtAttribute
using QueryTermSimpleUP = typename Super::QueryTermSimpleUP;
AttributeVector::SearchContext::UP
- getSearch(QueryTermSimpleUP term, const AttributeVector::SearchContext::Params & params) const override
+ getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override
{
(void) term;
(void) params;
@@ -112,7 +112,7 @@ protected:
{ }
private:
AttributeVector::SearchContext::UP
- getSearch(QueryTermSimpleUP term, const AttributeVector::SearchContext::Params & params) const override
+ getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override
{
(void) term;
(void) params;
@@ -200,7 +200,7 @@ class WeightedSetIntegerExtAttribute
: public WeightedSetExtAttributeBase<MultiIntegerExtAttribute>
{
AttributeVector::SearchContext::UP
- getSearch(QueryTermSimpleUP term, const AttributeVector::SearchContext::Params & params) const override
+ getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override
{
(void) term;
(void) params;
@@ -216,7 +216,7 @@ class WeightedSetFloatExtAttribute
: public WeightedSetExtAttributeBase<MultiFloatExtAttribute>
{
AttributeVector::SearchContext::UP
- getSearch(QueryTermSimpleUP term, const AttributeVector::SearchContext::Params & params) const override
+ getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override
{
(void) term;
(void) params;
diff --git a/searchlib/src/vespa/searchlib/attribute/flagattribute.cpp b/searchlib/src/vespa/searchlib/attribute/flagattribute.cpp
index 95bb9c6508f..bc9ea4b7ebf 100644
--- a/searchlib/src/vespa/searchlib/attribute/flagattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/flagattribute.cpp
@@ -58,7 +58,7 @@ FlagAttributeT<B>::FlagAttributeT(const vespalib::string & baseFileName, const A
template <typename B>
AttributeVector::SearchContext::UP
FlagAttributeT<B>::getSearch(QueryTermSimple::UP qTerm,
- const AttributeVector::SearchContext::Params & params) const
+ const attribute::SearchContextParams & params) const
{
(void) params;
return AttributeVector::SearchContext::UP (new SearchContext(std::move(qTerm), *this));
diff --git a/searchlib/src/vespa/searchlib/attribute/flagattribute.h b/searchlib/src/vespa/searchlib/attribute/flagattribute.h
index 83f452ab342..43a3647d93f 100644
--- a/searchlib/src/vespa/searchlib/attribute/flagattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/flagattribute.h
@@ -32,7 +32,7 @@ private:
bool onLoad() override;
bool onLoadEnumerated(ReaderBase &attrReader) override;
AttributeVector::SearchContext::UP
- getSearch(std::unique_ptr<QueryTermSimple> term, const AttributeVector::SearchContext::Params & params) const override;
+ getSearch(std::unique_ptr<QueryTermSimple> term, const attribute::SearchContextParams & params) const override;
void clearOldValues(DocId doc) override;
void setNewValues(DocId doc, const std::vector<typename B::WType> & values) override;
diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericattribute.h b/searchlib/src/vespa/searchlib/attribute/multinumericattribute.h
index a6be38eaf8f..c007e19351a 100644
--- a/searchlib/src/vespa/searchlib/attribute/multinumericattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/multinumericattribute.h
@@ -174,7 +174,7 @@ public:
virtual bool onLoadEnumerated(ReaderBase &attrReader);
AttributeVector::SearchContext::UP
- getSearch(std::unique_ptr<QueryTermSimple> term, const AttributeVector::SearchContext::Params & params) const override;
+ getSearch(std::unique_ptr<QueryTermSimple> term, const attribute::SearchContextParams & params) const override;
virtual void clearOldValues(DocId doc);
virtual void setNewValues(DocId doc, const std::vector<WType> & values);
diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multinumericattribute.hpp
index f287be4db29..5cea78df5b9 100644
--- a/searchlib/src/vespa/searchlib/attribute/multinumericattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/multinumericattribute.hpp
@@ -169,7 +169,7 @@ MultiValueNumericAttribute<B, M>::onLoad()
template <typename B, typename M>
AttributeVector::SearchContext::UP
MultiValueNumericAttribute<B, M>::getSearch(QueryTermSimple::UP qTerm,
- const AttributeVector::SearchContext::Params & params) const
+ const attribute::SearchContextParams & params) const
{
(void) params;
if (this->hasArrayType()) {
diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.h b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.h
index 05729283fce..f2f808c0182 100644
--- a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.h
@@ -162,7 +162,7 @@ public:
bool onLoadEnumerated(ReaderBase &attrReader);
AttributeVector::SearchContext::UP
- getSearch(QueryTermSimpleUP term, const AttributeVector::SearchContext::Params & params) const override;
+ getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override;
//-------------------------------------------------------------------------
// Attribute read API
diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp
index ddd749df279..2942f67193e 100644
--- a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp
@@ -125,7 +125,7 @@ MultiValueNumericEnumAttribute<B, M>::onLoad()
template <typename B, typename M>
AttributeVector::SearchContext::UP
MultiValueNumericEnumAttribute<B, M>::getSearch(QueryTermSimple::UP qTerm,
- const AttributeVector::SearchContext::Params & params) const
+ const attribute::SearchContextParams & params) const
{
(void) params;
QueryTermSimple::RangeResult<T> res = qTerm->getRange<T>();
diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.h b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.h
index ac182a3aff1..2ee03c6a64b 100644
--- a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.h
@@ -88,7 +88,7 @@ public:
virtual void onGenerationChange(generation_t generation);
AttributeVector::SearchContext::UP
- getSearch(QueryTermSimpleUP term, const AttributeVector::SearchContext::Params & params) const override;
+ getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override;
virtual const IDocumentWeightAttribute *asDocumentWeightAttribute() const override;
diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp
index 6fd89b084fd..a02df1b6ece 100644
--- a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp
@@ -74,7 +74,7 @@ MultiValueNumericPostingAttribute<B, M>::onGenerationChange(generation_t generat
template <typename B, typename M>
AttributeVector::SearchContext::UP
MultiValueNumericPostingAttribute<B, M>::getSearch(QueryTermSimpleUP qTerm,
- const AttributeVector::SearchContext::Params & params) const
+ const attribute::SearchContextParams & params) const
{
std::unique_ptr<search::AttributeVector::SearchContext> sc;
sc.reset(new typename std::conditional<M::_hasWeight,
diff --git a/searchlib/src/vespa/searchlib/attribute/multistringattribute.h b/searchlib/src/vespa/searchlib/attribute/multistringattribute.h
index bc05b242221..9bfd20e2fc7 100644
--- a/searchlib/src/vespa/searchlib/attribute/multistringattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/multistringattribute.h
@@ -159,7 +159,7 @@ public:
};
SearchContext::UP
- getSearch(QueryTermSimpleUP term, const AttributeVector::SearchContext::Params & params) const override;
+ getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override;
};
diff --git a/searchlib/src/vespa/searchlib/attribute/multistringattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multistringattribute.hpp
index a93012566cc..f71489ca150 100644
--- a/searchlib/src/vespa/searchlib/attribute/multistringattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/multistringattribute.hpp
@@ -39,7 +39,7 @@ MultiValueStringAttributeT<B, M>::freezeEnumDictionary(void)
template <typename B, typename M>
AttributeVector::SearchContext::UP
MultiValueStringAttributeT<B, M>::getSearch(QueryTermSimpleUP qTerm,
- const AttributeVector::SearchContext::Params &) const
+ const attribute::SearchContextParams &) const
{
if (this->getCollectionType() == attribute::CollectionType::WSET) {
return std::make_unique<StringTemplSearchContext<StringSetImplSearchContext>>(std::move(qTerm), *this);
diff --git a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.h b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.h
index 7ee356f63b9..8b773ca3545 100644
--- a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.h
@@ -91,7 +91,7 @@ public:
void onGenerationChange(generation_t generation) override;
AttributeVector::SearchContext::UP
- getSearch(QueryTermSimpleUP term, const AttributeVector::SearchContext::Params & params) const override;
+ getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override;
const IDocumentWeightAttribute *asDocumentWeightAttribute() const override;
diff --git a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.hpp
index 30a0ab73d1f..eb2eb692202 100644
--- a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.hpp
@@ -89,7 +89,7 @@ MultiValueStringPostingAttributeT<B, T>::onGenerationChange(generation_t generat
template <typename B, typename T>
AttributeVector::SearchContext::UP
MultiValueStringPostingAttributeT<B, T>::getSearch(QueryTermSimpleUP qTerm,
- const AttributeVector::SearchContext::Params & params) const
+ const attribute::SearchContextParams & params) const
{
std::unique_ptr<search::AttributeVector::SearchContext> sc;
sc.reset(new typename std::conditional<T::_hasWeight,
diff --git a/searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.cpp b/searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.cpp
index 4b2782c2b67..43bd1045949 100644
--- a/searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.cpp
@@ -145,7 +145,7 @@ NotImplementedAttribute::addDoc(DocId &) {
}
SearchContext::UP
-NotImplementedAttribute::getSearch(QueryTermSimpleUP, const SearchContext::Params &) const {
+NotImplementedAttribute::getSearch(QueryTermSimpleUP, const attribute::SearchContextParams &) const {
notImplemented();
return SearchContext::UP();
}
diff --git a/searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.h b/searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.h
index 39ba786325b..a3747bcb954 100644
--- a/searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.h
@@ -35,7 +35,7 @@ struct NotImplementedAttribute : AttributeVector {
bool addDoc(DocId &) override;
void onAddDocs(DocId lidLimit) override;
- SearchContext::UP getSearch(QueryTermSimpleUP, const SearchContext::Params &) const override;
+ SearchContext::UP getSearch(QueryTermSimpleUP, const attribute::SearchContextParams &) const override;
};
} // namespace search
diff --git a/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.h b/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.h
index caf98dc9cad..21267fe1d38 100644
--- a/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.h
+++ b/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.h
@@ -228,7 +228,7 @@ private:
typedef typename Parent::EnumStore EnumStore;
typedef typename EnumStore::ComparatorType ComparatorType;
typedef typename AttrT::T BaseType;
- typedef typename Parent::Params Params;
+ using Params = attribute::SearchContextParams;
using QueryTermSimpleUP = typename Parent::QueryTermSimpleUP;
using Parent::_low;
using Parent::_high;
diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericattribute.h b/searchlib/src/vespa/searchlib/attribute/singlenumericattribute.h
index 2379fbe1f87..0f984fc9380 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlenumericattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/singlenumericattribute.h
@@ -104,7 +104,7 @@ public:
bool onLoadEnumerated(ReaderBase &attrReader);
AttributeVector::SearchContext::UP
- getSearch(std::unique_ptr<QueryTermSimple> term, const AttributeVector::SearchContext::Params & params) const override;
+ getSearch(std::unique_ptr<QueryTermSimple> term, const attribute::SearchContextParams & params) const override;
void set(DocId doc, T v) {
_data[doc] = v;
diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericattribute.hpp b/searchlib/src/vespa/searchlib/attribute/singlenumericattribute.hpp
index eae1bc93c59..cbd4bfe383f 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlenumericattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlenumericattribute.hpp
@@ -155,7 +155,7 @@ SingleValueNumericAttribute<B>::onLoad()
template <typename B>
AttributeVector::SearchContext::UP
SingleValueNumericAttribute<B>::getSearch(QueryTermSimple::UP qTerm,
- const AttributeVector::SearchContext::Params & params) const
+ const attribute::SearchContextParams & params) const
{
(void) params;
QueryTermSimple::RangeResult<T> res = qTerm->getRange<T>();
diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.h b/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.h
index 416e32268dc..828c1434819 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.h
@@ -99,7 +99,7 @@ public:
bool onLoadEnumerated(ReaderBase &attrReader);
AttributeVector::SearchContext::UP
- getSearch(QueryTermSimpleUP term, const AttributeVector::SearchContext::Params & params) const override;
+ getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override;
//-------------------------------------------------------------------------
// Attribute read API
diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp
index 556aa6361c7..fbf56440a08 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp
@@ -152,7 +152,7 @@ SingleValueNumericEnumAttribute<B>::onLoad()
template <typename B>
AttributeVector::SearchContext::UP
SingleValueNumericEnumAttribute<B>::getSearch(QueryTermSimple::UP qTerm,
- const AttributeVector::SearchContext::Params & params) const
+ const attribute::SearchContextParams & params) const
{
(void) params;
QueryTermSimple::RangeResult<T> res = qTerm->getRange<T>();
diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.h b/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.h
index 1a210893eec..8053ba51fae 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.h
@@ -84,7 +84,7 @@ public:
void onGenerationChange(generation_t generation) override;
AttributeVector::SearchContext::UP
- getSearch(QueryTermSimpleUP term, const AttributeVector::SearchContext::Params & params) const override;
+ getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override;
bool onAddDoc(DocId doc) override {
return forwardedOnAddDoc(doc, this->_enumIndices.size(), this->_enumIndices.capacity());
diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.hpp b/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.hpp
index ebfdbe9b066..74b571ee645 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.hpp
@@ -141,7 +141,7 @@ SingleValueNumericPostingAttribute<B>::onGenerationChange(generation_t generatio
template <typename B>
AttributeVector::SearchContext::UP
SingleValueNumericPostingAttribute<B>::getSearch(QueryTermSimple::UP qTerm,
- const AttributeVector::SearchContext::Params & params) const
+ const attribute::SearchContextParams & params) const
{
return std::unique_ptr<AttributeVector::SearchContext>
(new SinglePostingSearchContext(std::move(qTerm),
diff --git a/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.cpp b/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.cpp
index b15cfead9f3..8d75f00c901 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.cpp
@@ -168,7 +168,7 @@ SingleValueSmallNumericAttribute::onSave(IAttributeSaveTarget &saveTarget)
AttributeVector::SearchContext::UP
SingleValueSmallNumericAttribute::getSearch(std::unique_ptr<QueryTermSimple> qTerm,
- const SearchContext::Params & params) const
+ const attribute::SearchContextParams & params) const
{
(void) params;
return SearchContext::UP(new SingleSearchContext(std::move(qTerm), *this));
diff --git a/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.h b/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.h
index 483a82215ee..c91cdac957d 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.h
@@ -125,7 +125,7 @@ public:
bool onLoad() override;
void onSave(IAttributeSaveTarget &saveTarget) override;
- SearchContext::UP getSearch(std::unique_ptr<QueryTermSimple> term, const SearchContext::Params & params) const override;
+ SearchContext::UP getSearch(std::unique_ptr<QueryTermSimple> term, const attribute::SearchContextParams & params) const override;
T getFast(DocId doc) const {
const Word &word = _wordData[doc >> _wordShift];
diff --git a/searchlib/src/vespa/searchlib/attribute/singlestringattribute.h b/searchlib/src/vespa/searchlib/attribute/singlestringattribute.h
index ab49c7e069d..c034c546254 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlestringattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/singlestringattribute.h
@@ -78,7 +78,7 @@ public:
}
AttributeVector::SearchContext::UP
- getSearch(QueryTermSimpleUP term, const AttributeVector::SearchContext::Params & params) const override;
+ getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override;
class StringSingleImplSearchContext : public StringAttribute::StringSearchContext {
public:
diff --git a/searchlib/src/vespa/searchlib/attribute/singlestringattribute.hpp b/searchlib/src/vespa/searchlib/attribute/singlestringattribute.hpp
index c97946d382a..4c8587791c4 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlestringattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlestringattribute.hpp
@@ -37,7 +37,7 @@ SingleValueStringAttributeT<B>::freezeEnumDictionary(void) {
template <typename B>
AttributeVector::SearchContext::UP
SingleValueStringAttributeT<B>::getSearch(QueryTermSimpleUP qTerm,
- const AttributeVector::SearchContext::Params &) const
+ const attribute::SearchContextParams &) const
{
return std::unique_ptr<AttributeVector::SearchContext>
(new StringTemplSearchContext(std::move(qTerm), *this));
diff --git a/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.h b/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.h
index 10da670d93d..913b5d0f333 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.h
@@ -92,7 +92,7 @@ public:
void onGenerationChange(generation_t generation) override;
AttributeVector::SearchContext::UP
- getSearch(QueryTermSimpleUP term, const AttributeVector::SearchContext::Params & params) const override;
+ getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override;
virtual bool onAddDoc(DocId doc) {
return forwardedOnAddDoc(doc, this->_enumIndices.size(), this->_enumIndices.capacity());
diff --git a/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.hpp b/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.hpp
index 2069748e52e..894bf711242 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.hpp
@@ -137,7 +137,7 @@ SingleValueStringPostingAttributeT<B>::onGenerationChange(generation_t generatio
template <typename B>
AttributeVector::SearchContext::UP
SingleValueStringPostingAttributeT<B>::getSearch(QueryTermSimpleUP qTerm,
- const AttributeVector::SearchContext::Params & params) const
+ const attribute::SearchContextParams & params) const
{
return std::unique_ptr<search::AttributeVector::SearchContext>
(new StringSinglePostingSearchContext(std::move(qTerm),
diff --git a/searchlib/src/vespa/searchlib/attribute/stringbase.cpp b/searchlib/src/vespa/searchlib/attribute/stringbase.cpp
index 8dd2a0dec4f..77f111c2eb4 100644
--- a/searchlib/src/vespa/searchlib/attribute/stringbase.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/stringbase.cpp
@@ -20,7 +20,7 @@ using attribute::LoadedEnumAttributeVector;
using vespalib::Regexp;
AttributeVector::SearchContext::UP
-StringAttribute::getSearch(QueryTermSimple::UP term, const SearchContext::Params & params) const
+StringAttribute::getSearch(QueryTermSimple::UP term, const attribute::SearchContextParams & params) const
{
(void) params;
return SearchContext::UP(new StringSearchContext(std::move(term), *this));
diff --git a/searchlib/src/vespa/searchlib/attribute/stringbase.h b/searchlib/src/vespa/searchlib/attribute/stringbase.h
index cc83d2f0d1b..ea095341578 100644
--- a/searchlib/src/vespa/searchlib/attribute/stringbase.h
+++ b/searchlib/src/vespa/searchlib/attribute/stringbase.h
@@ -176,7 +176,7 @@ private:
mutable WeightedConstChar * _buffer;
std::unique_ptr<vespalib::Regexp> _regex;
};
- SearchContext::UP getSearch(QueryTermSimpleUP term, const SearchContext::Params & params) const override;
+ SearchContext::UP getSearch(QueryTermSimpleUP term, const attribute::SearchContextParams & params) const override;
};
}