aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa/searchlib/attribute/ipostinglistsearchcontext.h
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib/src/vespa/searchlib/attribute/ipostinglistsearchcontext.h')
-rw-r--r--searchlib/src/vespa/searchlib/attribute/ipostinglistsearchcontext.h19
1 files changed, 11 insertions, 8 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/ipostinglistsearchcontext.h b/searchlib/src/vespa/searchlib/attribute/ipostinglistsearchcontext.h
index e779e41bb90..b47de1b7e32 100644
--- a/searchlib/src/vespa/searchlib/attribute/ipostinglistsearchcontext.h
+++ b/searchlib/src/vespa/searchlib/attribute/ipostinglistsearchcontext.h
@@ -4,12 +4,11 @@
#include <memory>
-namespace search {
+namespace search::queryeval { class SearchIterator; }
+namespace search::fef { class TermFieldMatchData; }
+namespace search { class BitVector; }
-namespace queryeval { class SearchIterator; }
-namespace fef { class TermFieldMatchData; }
-
-namespace attribute {
+namespace search::attribute {
/**
@@ -27,10 +26,14 @@ protected:
virtual ~IPostingListSearchContext() { }
public:
- virtual void fetchPostings(bool strict) = 0;
+ /**
+ * Will load/prepare any postings lists. Will take strictness and optional filter into account.
+ * @param strict If true iterator must advance to next valid docid.
+ * @param filter Any prefilter that can be applied to posting lists for optimization purposes.
+ */
+ virtual void fetchPostings(bool strict, const BitVector * filter) = 0;
virtual std::unique_ptr<queryeval::SearchIterator> createPostingIterator(fef::TermFieldMatchData *matchData, bool strict) = 0;
virtual unsigned int approximateHits() const = 0;
};
-} // namespace attribute
-} // namespace search
+}