diff --git a/src/common/kiwix/searcher.cpp b/src/common/kiwix/searcher.cpp index 965986b61..4305841f4 100644 --- a/src/common/kiwix/searcher.cpp +++ b/src/common/kiwix/searcher.cpp @@ -23,13 +23,16 @@ namespace kiwix { } /* Search strings in the database */ - void Searcher::search(const string &search, const unsigned int resultsCount) { + void Searcher::search(string search, const unsigned int resultsCount) { /* Reset the results */ this->results.clear(); this->resultOffset = this->results.begin(); /* Create the enquire object */ Xapian::Enquire enquire(this->readableDatabase); + + /* lowercase the search pattern */ + std::transform(search.begin(), search.end(), search.begin(), ::tolower); /* Create the query term vector */ std::vector queryTerms = split(removeAccents(search.c_str()), " #@%$0/\\_-*()[]{},;:"); diff --git a/src/common/kiwix/searcher.h b/src/common/kiwix/searcher.h index 7a035d9f7..ae67165ad 100644 --- a/src/common/kiwix/searcher.h +++ b/src/common/kiwix/searcher.h @@ -4,6 +4,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -31,7 +35,7 @@ namespace kiwix { std::vector results; std::vector::iterator resultOffset; - void search(const string &search, const unsigned int resultsCount); + void search(string search, const unsigned int resultsCount); bool getNextResult(string &url, string &title, unsigned int &score); void closeDatabase(); void reset();