From 6a9b42550a6eb6922d0a5f5d30f5dbc18a1e0b66 Mon Sep 17 00:00:00 2001 From: nvalimak Date: Wed, 11 Mar 2009 11:35:15 +0000 Subject: [PATCH] Added queries for DocId intervals git-svn-id: svn+ssh://idea.nguyen.vg/svn/sxsi/trunk/TextCollection@249 3cdefd35-fc62-479d-8e8d-bae585ffb9ca --- TextCollection.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/TextCollection.h b/TextCollection.h index 37d5cb5..f41084d 100644 --- a/TextCollection.h +++ b/TextCollection.h @@ -131,6 +131,15 @@ namespace SXSI // 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. @@ -146,6 +155,15 @@ namespace SXSI 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 * @@ -159,6 +177,15 @@ namespace SXSI 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 * @@ -167,6 +194,8 @@ namespace SXSI // Data type for results typedef std::vector > 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(). -- 2.17.1