diff options
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/queryeval/emptysearch.h | 1 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/queryeval/full_search.h | 1 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/queryeval/searchiterator.h | 6 |
3 files changed, 8 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/queryeval/emptysearch.h b/searchlib/src/vespa/searchlib/queryeval/emptysearch.h index 897decb456b..c12ce33d6ab 100644 --- a/searchlib/src/vespa/searchlib/queryeval/emptysearch.h +++ b/searchlib/src/vespa/searchlib/queryeval/emptysearch.h @@ -21,6 +21,7 @@ protected: setAtEnd(); } virtual Trinary is_strict() const override; + Trinary matches_any() const override { return Trinary::False; } public: EmptySearch(); diff --git a/searchlib/src/vespa/searchlib/queryeval/full_search.h b/searchlib/src/vespa/searchlib/queryeval/full_search.h index 81c9125807e..df73f24b174 100644 --- a/searchlib/src/vespa/searchlib/queryeval/full_search.h +++ b/searchlib/src/vespa/searchlib/queryeval/full_search.h @@ -21,6 +21,7 @@ private: void or_hits_into(BitVector &result, uint32_t begin_id) override; void and_hits_into(BitVector &result, uint32_t begin_id) override; BitVector::UP get_hits(uint32_t begin_id) override; + Trinary matches_any() const override { return Trinary::True; } public: FullSearch(); diff --git a/searchlib/src/vespa/searchlib/queryeval/searchiterator.h b/searchlib/src/vespa/searchlib/queryeval/searchiterator.h index 3a57d15b1e9..38a11b4d960 100644 --- a/searchlib/src/vespa/searchlib/queryeval/searchiterator.h +++ b/searchlib/src/vespa/searchlib/queryeval/searchiterator.h @@ -355,6 +355,12 @@ public: virtual Trinary is_strict() const { return Trinary::Undefined; } + // will this iterator match any document? + // (True -> all documents match) + // (False -> no documents match) + // (Undefined -> use seek to find out) + // number of matches: (False <= Undefined <= True) + virtual Trinary matches_any() const { return Trinary::Undefined; } }; } |