+ add the "verbose" arg. to searchInIndex()

This commit is contained in:
kelson42 2010-11-07 10:42:50 +00:00
parent 34953af21b
commit 3d10562634
6 changed files with 15 additions and 8 deletions

View File

@ -43,7 +43,7 @@ namespace kiwix {
} }
/* Search strings in the database */ /* Search strings in the database */
void CluceneSearcher::searchInIndex(string &search, const unsigned int resultsCount) { void CluceneSearcher::searchInIndex(string &search, const unsigned int resultsCount, const bool verbose) {
IndexSearcher searcher(reader); IndexSearcher searcher(reader);
SimpleAnalyzer analyzer; SimpleAnalyzer analyzer;
QueryParser parser(_T("content"), &analyzer); QueryParser parser(_T("content"), &analyzer);

View File

@ -20,7 +20,7 @@ namespace kiwix {
public: public:
CluceneSearcher(const string &cluceneDirectoryPath); CluceneSearcher(const string &cluceneDirectoryPath);
void searchInIndex(string &search, const unsigned int resultsCount); void searchInIndex(string &search, const unsigned int resultsCount, const bool verbose=false);
protected: protected:
void closeIndex(); void closeIndex();

View File

@ -7,7 +7,7 @@ namespace kiwix {
} }
/* Search strings in the database */ /* Search strings in the database */
void Searcher::search(std::string &search, const unsigned int resultsCount, bool verbose) { void Searcher::search(std::string &search, const unsigned int resultsCount, const bool verbose) {
this->reset(); this->reset();
@ -15,7 +15,7 @@ namespace kiwix {
cout << "Performing query `" << search << "'" << endl; cout << "Performing query `" << search << "'" << endl;
} }
searchInIndex(removeAccents(search), resultsCount); searchInIndex(removeAccents(search), resultsCount, verbose);
this->resultOffset = this->results.begin(); this->resultOffset = this->results.begin();

View File

@ -27,13 +27,13 @@ namespace kiwix {
public: public:
Searcher(); Searcher();
void search(std::string &search, const unsigned int resultsCount, bool verbose=false); void search(std::string &search, const unsigned int resultsCount, const bool verbose=false);
bool getNextResult(string &url, string &title, unsigned int &score); bool getNextResult(string &url, string &title, unsigned int &score);
void reset(); void reset();
protected: protected:
virtual void closeIndex() = 0; virtual void closeIndex() = 0;
virtual void searchInIndex(string &search, const unsigned int resultsCount) = 0; virtual void searchInIndex(string &search, const unsigned int resultsCount, const bool verbose=false) = 0;
std::vector<Result> results; std::vector<Result> results;
std::vector<Result>::iterator resultOffset; std::vector<Result>::iterator resultOffset;

View File

@ -20,7 +20,7 @@ namespace kiwix {
} }
/* Search strings in the database */ /* Search strings in the database */
void XapianSearcher::searchInIndex(string &search, const unsigned int resultsCount) { void XapianSearcher::searchInIndex(string &search, const unsigned int resultsCount, const bool verbose) {
/* Create the query */ /* Create the query */
Xapian::QueryParser queryParser; Xapian::QueryParser queryParser;
Xapian::Query query = queryParser.parse_query(search); Xapian::Query query = queryParser.parse_query(search);
@ -42,6 +42,13 @@ namespace kiwix {
result.score = i.get_percent(); result.score = i.get_percent();
this->results.push_back(result); this->results.push_back(result);
if (verbose) {
std::cout << "Document ID " << *i << " \t";
std::cout << i.get_percent() << "% ";
std::cout << "\t[" << doc.get_data() << "] - " << doc.get_value(0) << std::endl;
}
} }
return; return;

View File

@ -13,7 +13,7 @@ namespace kiwix {
public: public:
XapianSearcher(const string &xapianDirectoryPath); XapianSearcher(const string &xapianDirectoryPath);
void searchInIndex(string &search, const unsigned int resultsCount); void searchInIndex(string &search, const unsigned int resultsCount, const bool verbose=false);
protected: protected:
void closeIndex(); void closeIndex();