diff options
Diffstat (limited to 'streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h')
-rw-r--r-- | streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h b/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h index 55aabf3c0cf..abc2bc9d870 100644 --- a/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h +++ b/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h @@ -7,6 +7,8 @@ #include <vespa/vsm/common/storagedocument.h> #include <vespa/vespalib/util/array.h> +namespace search::fef { class IQueryEnvironment; } + namespace vsm { using termcount_t = size_t; @@ -50,13 +52,17 @@ public: EXACT }; - FieldSearcher(const FieldIdT & fId, bool defaultPrefix=false); + FieldSearcher(FieldIdT fId, bool defaultPrefix=false); ~FieldSearcher() override; virtual std::unique_ptr<FieldSearcher> duplicate() const = 0; bool search(const StorageDocument & doc); - virtual void prepare(search::streaming::QueryTermList & qtl, const SharedSearcherBuf & buf); - const FieldIdT & field() const { return _field; } - void field(const FieldIdT & v) { _field = v; prepareFieldId(); } + virtual void prepare(search::streaming::QueryTermList& qtl, + const SharedSearcherBuf& buf, + const vsm::FieldPathMapT& field_paths, + search::fef::IQueryEnvironment& query_env); + + FieldIdT field() const { return _field; } + void field(FieldIdT v) { _field = v; prepareFieldId(); } bool prefix() const { return _matchType == PREFIX; } bool substring() const { return _matchType == SUBSTRING; } bool suffix() const { return _matchType == SUFFIX; } @@ -142,7 +148,11 @@ using FieldIdTSearcherMapT = std::vector<FieldSearcherContainer>; class FieldIdTSearcherMap : public FieldIdTSearcherMapT { public: - void prepare(const DocumentTypeIndexFieldMapT & difm, const SharedSearcherBuf & searcherBuf, search::streaming::Query & query); + void prepare(const DocumentTypeIndexFieldMapT& difm, + const SharedSearcherBuf& searcherBuf, + search::streaming::Query& query, + const vsm::FieldPathMapT& field_paths, + search::fef::IQueryEnvironment& query_env); }; } |