#include <searchengine.h>
Collaboration diagram for PhraseHunter::SearchEngine:
Public Member Functions | |
SearchEngine (SQLitePP::SqliteDB &sqlite) | |
Constructor. Should not be called directly. Instead, use CorpusManager::searchEngine(). | |
~SearchEngine () | |
TokenPtr | searchToken (schma::UnicodePtr stringtoken) const |
Search for a single-word Token. For phrases, use searchPhrase(). | |
TokenPtr | searchPhrase (schma::UnicodePtr search_string) const |
Search for a Phrase. | |
TokenVector | searchRegexToken (schma::UnicodePtr re) const |
Search for all tokens that match a regular expression. | |
TokenVector | searchPhrasalRegex (schma::UnicodePtr re) const |
Search for all Phrase tokens, where each word matches the respective regex. | |
Private Member Functions | |
template<typename _RandomAccessIt, typename _MinChooser, typename _Merger, typename _Validator> | |
_RandomAccessIt::value_type | combine (_RandomAccessIt begin, _RandomAccessIt end, _MinChooser better, _Merger merge, _Validator valid) const |
std::string | cutRegex (const std::string &re) const |
Private Attributes | |
SQLitePP::SqliteDB & | m_db |
const std::string | SPECIAL_CHARACTERS |
Definition at line 36 of file searchengine.h.
PhraseHunter::SearchEngine::SearchEngine | ( | SQLitePP::SqliteDB & | sqlite | ) |
Constructor. Should not be called directly. Instead, use CorpusManager::searchEngine().
Definition at line 33 of file searchengine.cpp.
PhraseHunter::SearchEngine::~SearchEngine | ( | ) | [inline] |
Definition at line 42 of file searchengine.h.
TokenPtr PhraseHunter::SearchEngine::searchToken | ( | schma::UnicodePtr | stringtoken | ) | const |
Search for a single-word Token. For phrases, use searchPhrase().
Definition at line 138 of file searchengine.cpp.
References SQLitePP::SqliteDB::cachedStatement(), SQLitePP::ResultIterator::get(), SQLitePP::ResultIterator::hasMoreRows(), PhraseHunter::EmptyToken::instance(), PhraseHunter::CorpusToken::loadFromCorpus(), and m_db.
Referenced by PhraseHunter::StatisticsEngine::mutual_information(), SearchTab::search(), searchPhrase(), and searchRegexToken().
TokenPtr PhraseHunter::SearchEngine::searchPhrase | ( | schma::UnicodePtr | search_string | ) | const |
Search for a Phrase.
Definition at line 173 of file searchengine.cpp.
References combine(), PhraseHunter::Tokenizer::hasMoreTokens(), PhraseHunter::EmptyToken::instance(), PhraseHunter::Tokenizer::nextUnencodedToken(), searchToken(), and schma::toStdString().
Referenced by PhraseHunter::StatisticsEngine::mutual_information(), SearchTab::search(), and time_serge().
TokenVector PhraseHunter::SearchEngine::searchRegexToken | ( | schma::UnicodePtr | re | ) | const |
Search for all tokens that match a regular expression.
re | The regular expression to match. |
Definition at line 37 of file searchengine.cpp.
References cutRegex(), m_db, searchToken(), SQLitePP::SqliteDB::statement(), and schma::toStdString().
Referenced by SearchTab::search(), and searchPhrasalRegex().
TokenVector PhraseHunter::SearchEngine::searchPhrasalRegex | ( | schma::UnicodePtr | re | ) | const |
Search for all Phrase tokens, where each word matches the respective regex.
re | The phrasal regular expression. |
Definition at line 96 of file searchengine.cpp.
References combine(), searchRegexToken(), schma::splitString(), and schma::toStdString().
Referenced by SearchTab::search(), and time_serge().
_RandomAccessIt::value_type PhraseHunter::SearchEngine::combine | ( | _RandomAccessIt | begin, | |
_RandomAccessIt | end, | |||
_MinChooser | better, | |||
_Merger | merge, | |||
_Validator | valid | |||
) | const [private] |
Definition at line 201 of file searchengine.cpp.
Referenced by searchPhrasalRegex(), and searchPhrase().
std::string PhraseHunter::SearchEngine::cutRegex | ( | const std::string & | re | ) | const [private] |
Definition at line 122 of file searchengine.cpp.
References SPECIAL_CHARACTERS.
Referenced by searchRegexToken().
const std::string PhraseHunter::SearchEngine::SPECIAL_CHARACTERS [private] |