mirror of https://github.com/kiwix/libkiwix.git
+ add the "verbose" arg. to searchInIndex()
This commit is contained in:
parent
34953af21b
commit
3d10562634
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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<Result> results;
|
||||
std::vector<Result>::iterator resultOffset;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in New Issue