diff --git a/src/common/kiwix/cluceneSearcher.cpp b/src/common/kiwix/cluceneSearcher.cpp index bd43758e6..0d37ae648 100644 --- a/src/common/kiwix/cluceneSearcher.cpp +++ b/src/common/kiwix/cluceneSearcher.cpp @@ -43,7 +43,7 @@ namespace kiwix { } /* 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); SimpleAnalyzer analyzer; QueryParser parser(_T("content"), &analyzer); diff --git a/src/common/kiwix/cluceneSearcher.h b/src/common/kiwix/cluceneSearcher.h index 3264a96bd..d9d551c7c 100644 --- a/src/common/kiwix/cluceneSearcher.h +++ b/src/common/kiwix/cluceneSearcher.h @@ -20,7 +20,7 @@ namespace kiwix { public: 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: void closeIndex(); diff --git a/src/common/kiwix/searcher.cpp b/src/common/kiwix/searcher.cpp index 71f8c8f14..7c394f121 100644 --- a/src/common/kiwix/searcher.cpp +++ b/src/common/kiwix/searcher.cpp @@ -7,7 +7,7 @@ namespace kiwix { } /* 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(); @@ -15,7 +15,7 @@ namespace kiwix { cout << "Performing query `" << search << "'" << endl; } - searchInIndex(removeAccents(search), resultsCount); + searchInIndex(removeAccents(search), resultsCount, verbose); this->resultOffset = this->results.begin(); diff --git a/src/common/kiwix/searcher.h b/src/common/kiwix/searcher.h index 8f58213c4..ece2d3aba 100644 --- a/src/common/kiwix/searcher.h +++ b/src/common/kiwix/searcher.h @@ -27,13 +27,13 @@ namespace kiwix { public: 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); void reset(); protected: 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 results; std::vector::iterator resultOffset; diff --git a/src/common/kiwix/xapianSearcher.cpp b/src/common/kiwix/xapianSearcher.cpp index 01c349779..66e28b43e 100644 --- a/src/common/kiwix/xapianSearcher.cpp +++ b/src/common/kiwix/xapianSearcher.cpp @@ -20,7 +20,7 @@ namespace kiwix { } /* 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 */ Xapian::QueryParser queryParser; Xapian::Query query = queryParser.parse_query(search); @@ -42,6 +42,13 @@ namespace kiwix { result.score = i.get_percent(); 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; diff --git a/src/common/kiwix/xapianSearcher.h b/src/common/kiwix/xapianSearcher.h index e5200d62c..8f955bc8f 100644 --- a/src/common/kiwix/xapianSearcher.h +++ b/src/common/kiwix/xapianSearcher.h @@ -13,7 +13,7 @@ namespace kiwix { public: 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: void closeIndex();