summaryrefslogtreecommitdiff
path: root/src/mongo/db/fts/fts_matcher.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/fts/fts_matcher.h')
-rw-r--r--src/mongo/db/fts/fts_matcher.h138
1 files changed, 69 insertions, 69 deletions
diff --git a/src/mongo/db/fts/fts_matcher.h b/src/mongo/db/fts/fts_matcher.h
index 058dcc7bcb6..00fe8291c4d 100644
--- a/src/mongo/db/fts/fts_matcher.h
+++ b/src/mongo/db/fts/fts_matcher.h
@@ -36,74 +36,74 @@
namespace mongo {
- namespace fts {
-
- class FTSMatcher {
- MONGO_DISALLOW_COPYING( FTSMatcher );
- public:
- FTSMatcher( const FTSQuery& query, const FTSSpec& spec );
-
- /**
- * Returns whether 'obj' matches the query. An object is considered to match the query
- * if all four of the following conditions hold:
- * 1) The object contains at least one positive term.
- * 2) The object contains zero negative terms.
- * 3) The object contains all positive phrases.
- * 4) The object contains zero negative phrases.
- */
- bool matches( const BSONObj& obj ) const;
-
- /**
- * Returns whether 'obj' contains at least one positive term.
- */
- bool hasPositiveTerm( const BSONObj& obj ) const;
-
- /**
- * Returns whether 'obj' contains at least one negative term.
- */
- bool hasNegativeTerm( const BSONObj& obj ) const;
-
- /**
- * Returns whether 'obj' contains all positive phrases.
- */
- bool positivePhrasesMatch( const BSONObj& obj ) const;
-
- /**
- * Returns whether 'obj' contains zero negative phrases.
- */
- bool negativePhrasesMatch( const BSONObj& obj ) const;
-
- private:
- /**
- * For matching, can we skip the positive term check? This is done as optimization when
- * we have a-priori knowledge that all documents being matched pass the positive term
- * check.
- */
- bool canSkipPositiveTermCheck() const { return !_query.getCaseSensitive(); }
-
- /**
- * Returns whether the string 'raw' contains any positive terms from the query.
- * 'language' specifies the language for 'raw'.
- */
- bool _hasPositiveTerm_string( const FTSLanguage* language,
- const std::string& raw ) const;
-
- /**
- * Returns whether the string 'raw' contains any negative terms from the query.
- * 'language' specifies the language for 'raw'.
- */
- bool _hasNegativeTerm_string( const FTSLanguage* language,
- const std::string& raw ) const;
-
- /**
- * Returns whether 'obj' contains the exact string 'phrase' in any indexed fields.
- */
- bool _phraseMatch( const std::string& phrase, const BSONObj& obj ) const;
-
- // TODO These should be unowned pointers instead of owned copies.
- const FTSQuery _query;
- const FTSSpec _spec;
- };
-
+namespace fts {
+
+class FTSMatcher {
+ MONGO_DISALLOW_COPYING(FTSMatcher);
+
+public:
+ FTSMatcher(const FTSQuery& query, const FTSSpec& spec);
+
+ /**
+ * Returns whether 'obj' matches the query. An object is considered to match the query
+ * if all four of the following conditions hold:
+ * 1) The object contains at least one positive term.
+ * 2) The object contains zero negative terms.
+ * 3) The object contains all positive phrases.
+ * 4) The object contains zero negative phrases.
+ */
+ bool matches(const BSONObj& obj) const;
+
+ /**
+ * Returns whether 'obj' contains at least one positive term.
+ */
+ bool hasPositiveTerm(const BSONObj& obj) const;
+
+ /**
+ * Returns whether 'obj' contains at least one negative term.
+ */
+ bool hasNegativeTerm(const BSONObj& obj) const;
+
+ /**
+ * Returns whether 'obj' contains all positive phrases.
+ */
+ bool positivePhrasesMatch(const BSONObj& obj) const;
+
+ /**
+ * Returns whether 'obj' contains zero negative phrases.
+ */
+ bool negativePhrasesMatch(const BSONObj& obj) const;
+
+private:
+ /**
+ * For matching, can we skip the positive term check? This is done as optimization when
+ * we have a-priori knowledge that all documents being matched pass the positive term
+ * check.
+ */
+ bool canSkipPositiveTermCheck() const {
+ return !_query.getCaseSensitive();
}
+
+ /**
+ * Returns whether the string 'raw' contains any positive terms from the query.
+ * 'language' specifies the language for 'raw'.
+ */
+ bool _hasPositiveTerm_string(const FTSLanguage* language, const std::string& raw) const;
+
+ /**
+ * Returns whether the string 'raw' contains any negative terms from the query.
+ * 'language' specifies the language for 'raw'.
+ */
+ bool _hasNegativeTerm_string(const FTSLanguage* language, const std::string& raw) const;
+
+ /**
+ * Returns whether 'obj' contains the exact string 'phrase' in any indexed fields.
+ */
+ bool _phraseMatch(const std::string& phrase, const BSONObj& obj) const;
+
+ // TODO These should be unowned pointers instead of owned copies.
+ const FTSQuery _query;
+ const FTSSpec _spec;
+};
+}
}