3
0
Fork 0

Add support of embedded ft-index in zim for kiwix-serve and kiwix-search.

- kiwix-search will try the embedded ft-index if no indexPath is specified
  in the library.xml or command argument.
- kiwix-search also uses xapianSearcher and xapianSearcher needs zimlib,
  so add zimlib in compilation flag for searcher.
- kiwix-serve already depends on zimlib.
small_fixes
Matthieu Gautier 9 years ago
parent d8acb2328c
commit 2fc94514f8

@ -602,17 +602,20 @@ int main(int argc, char **argv) {
string humanReadableId = currentBook.getHumanReadableIdFromPath(); string humanReadableId = currentBook.getHumanReadableIdFromPath();
readers[humanReadableId] = reader; readers[humanReadableId] = reader;
/* Instanciate the ZIM index (if necessary) */ /* Try to instanciate the zim index.
if (!indexPath.empty()) { * If there is no specified indexPath, try to open the
try { * embedded index in the zim. */
kiwix::Searcher *searcher = new kiwix::XapianSearcher(indexPath); if (indexPath.empty()) {
searcher->setProtocolPrefix("/"); indexPath = zimPath;
searcher->setSearchProtocolPrefix("/search?"); }
searcher->setContentHumanReadableId(humanReadableId); try {
searchers[humanReadableId] = searcher; kiwix::Searcher *searcher = new kiwix::XapianSearcher(indexPath);
} catch (...) { searcher->setProtocolPrefix("/");
cerr << "Unable to open the search index '" << indexPath << "'." << endl; searcher->setSearchProtocolPrefix("/search?");
} searcher->setContentHumanReadableId(humanReadableId);
searchers[humanReadableId] = searcher;
} catch (...) {
cerr << "Unable to open the search index '" << indexPath << "'." << endl;
} }
} }
} }

Loading…
Cancel
Save