diff options
author | Adam Chelminski <adam.chelminski@mongodb.com> | 2015-07-15 10:14:09 -0400 |
---|---|---|
committer | Adam Chelminski <adam.chelminski@mongodb.com> | 2015-07-29 16:59:04 -0400 |
commit | 852258ef9ec37856e22a8e1089507899a2396b00 (patch) | |
tree | 624155f8a779b29109f92eaec4982c94e9303e59 /src/mongo/db/fts/fts_language.h | |
parent | f1bdf1bb55f93c63297f36ef22ed40d6d84872c9 (diff) | |
download | mongo-852258ef9ec37856e22a8e1089507899a2396b00.tar.gz |
SERVER-19421 Add abstractions for phrase matching in FTS
Diffstat (limited to 'src/mongo/db/fts/fts_language.h')
-rw-r--r-- | src/mongo/db/fts/fts_language.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/mongo/db/fts/fts_language.h b/src/mongo/db/fts/fts_language.h index facdb8c9ce0..6c986f5de6e 100644 --- a/src/mongo/db/fts/fts_language.h +++ b/src/mongo/db/fts/fts_language.h @@ -30,6 +30,8 @@ #pragma once +#include "mongo/db/fts/fts_basic_phrase_matcher.h" +#include "mongo/db/fts/fts_phrase_matcher.h" #include "mongo/db/fts/fts_util.h" #include "mongo/base/status_with.h" @@ -87,6 +89,11 @@ public: virtual std::unique_ptr<FTSTokenizer> createTokenizer() const = 0; /** + * Returns a reference to the phrase matcher instance that this language owns. + */ + virtual const FTSPhraseMatcher& getPhraseMatcher() const = 0; + + /** * Register std::string 'languageName' as a new language with text index version * 'textIndexVersion'. Saves the resulting language to out-argument 'languageOut'. * Subsequent calls to FTSLanguage::make() will recognize the newly-registered language @@ -133,7 +140,11 @@ typedef StatusWith<const FTSLanguage*> StatusWithFTSLanguage; class BasicFTSLanguage : public FTSLanguage { public: - std::unique_ptr<FTSTokenizer> createTokenizer() const override; + std::unique_ptr<FTSTokenizer> createTokenizer() const final; + const FTSPhraseMatcher& getPhraseMatcher() const final; + +private: + BasicFTSPhraseMatcher _basicPhraseMatcher; }; extern BasicFTSLanguage languagePorterV1; |