// Is there a text that is lexicographically less than given string?
virtual bool IsLessThan(uchar const *) const = 0;
+ /**
+ * Existential queries for given DocId interval.
+ */
+ virtual bool IsPrefix(uchar const *, DocId, DocId) const = 0;
+ virtual bool IsSuffix(uchar const *, DocId, DocId) const = 0;
+ virtual bool IsEqual(uchar const *, DocId, DocId) const = 0;
+ virtual bool IsContains(uchar const *, DocId, DocId) const = 0;
+ virtual bool IsLessThan(uchar const *, DocId, DocId) const = 0;
+
/**
* Counting queries
* Result is the number of occurrences.
virtual unsigned CountContains(uchar const *) const = 0;
virtual unsigned CountLessThan(uchar const *) const = 0;
+ /**
+ * Counting queries for given DocId interval
+ */
+ virtual unsigned CountPrefix(uchar const *, DocId, DocId) const = 0;
+ virtual unsigned CountSuffix(uchar const *, DocId, DocId) const = 0;
+ virtual unsigned CountEqual(uchar const *, DocId, DocId) const = 0;
+ virtual unsigned CountContains(uchar const *, DocId, DocId) const = 0;
+ virtual unsigned CountLessThan(uchar const *, DocId, DocId) const = 0;
+
/**
* Document reporting queries
*
virtual document_result Contains(uchar const *) const = 0;
virtual document_result LessThan(uchar const *) const = 0;
+ /**
+ * Document reporting queries for given DocId interval.
+ */
+ virtual document_result Prefix(uchar const *, DocId, DocId) const = 0;
+ virtual document_result Suffix(uchar const *, DocId, DocId) const = 0;
+ virtual document_result Equal(uchar const *, DocId, DocId) const = 0;
+ virtual document_result Contains(uchar const *, DocId, DocId) const = 0;
+ virtual document_result LessThan(uchar const *, DocId, DocId) const = 0;
+
/**
* Full reporting queries
*
// Data type for results
typedef std::vector<std::pair<DocId, TextPosition> > full_result;
virtual full_result FullContains(uchar const *) const = 0;
+ // Full reporting query for given DocId interval
+ virtual full_result FullContains(uchar const *, DocId, DocId) const = 0;
protected:
// Protected constructor; call the static function InitTextCollection().