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 */
|
/* 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);
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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();
|
||||||
|
|
Loading…
Reference in New Issue