From e3c2a13fa6b432e6e7b4e74205be478253682c60 Mon Sep 17 00:00:00 2001 From: kelson42 Date: Sun, 2 Oct 2016 18:29:08 +0200 Subject: [PATCH] Add Reader::hasFulltextIndex --- src/common/kiwix/reader.cpp | 8 +++++++- src/common/kiwix/reader.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/common/kiwix/reader.cpp b/src/common/kiwix/reader.cpp index 395ad5e18..10526ba25 100644 --- a/src/common/kiwix/reader.cpp +++ b/src/common/kiwix/reader.cpp @@ -516,8 +516,14 @@ namespace kiwix { char ns = 0; string titleStr; this->parseUrl(url, &ns, titleStr); + titleStr = "/" + titleStr; zim::File::const_iterator findItr = zimFileHandler->find(ns, titleStr); - return findItr->getUrl() == titleStr; + return findItr != zimFileHandler->end() && findItr->getUrl() == titleStr; + } + + /* Does the ZIM file has a fulltext index */ + bool Reader::hasFulltextIndex() { + return this->urlExists("/Z/fulltextIndex/xapian"); } /* Search titles by prefix */ diff --git a/src/common/kiwix/reader.h b/src/common/kiwix/reader.h index c24648d84..79de7f18f 100644 --- a/src/common/kiwix/reader.h +++ b/src/common/kiwix/reader.h @@ -72,6 +72,7 @@ namespace kiwix { bool searchSuggestions(const string &prefix, unsigned int suggestionsCount, const bool reset = true); bool searchSuggestionsSmart(const string &prefix, unsigned int suggestionsCount); bool urlExists(const string &url); + bool hasFulltextIndex(); std::vector getTitleVariants(const std::string &title); bool getNextSuggestion(string &title); bool getNextSuggestion(string &title, string &url);