aboutsummaryrefslogtreecommitdiffstats
path: root/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h
diff options
context:
space:
mode:
Diffstat (limited to 'streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h')
-rw-r--r--streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h20
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);
};
}