diff --git a/include/searcher.h b/include/searcher.h index e677cc98e..4381c1d30 100644 --- a/include/searcher.h +++ b/include/searcher.h @@ -56,6 +56,8 @@ struct SuggestionInternal; /** * The Searcher class is reponsible to do different kind of search using the * fulltext index. + * + * The Searcher is now deprecated. Use libzim search feature. */ class Searcher { @@ -63,7 +65,7 @@ class Searcher /** * The default constructor. */ - Searcher(); + DEPRECATED Searcher(); ~Searcher(); diff --git a/test/meson.build b/test/meson.build index 43d7a1e78..62b210871 100644 --- a/test/meson.build +++ b/test/meson.build @@ -9,8 +9,7 @@ tests = [ 'book', 'manager', 'name_mapper', - 'opds_catalog', - 'searcher' + 'opds_catalog' ] if build_machine.system() != 'windows' diff --git a/test/searcher.cpp b/test/searcher.cpp deleted file mode 100644 index 5adb0adeb..000000000 --- a/test/searcher.cpp +++ /dev/null @@ -1,79 +0,0 @@ -#include "gtest/gtest.h" -#include "../include/searcher.h" -#include "../include/reader.h" - -namespace kiwix -{ - -TEST(Searcher, add_reader) { - Reader reader1("./test/example.zim"); - Reader reader2("./test/example.zim"); - Reader reader3("./test/../test/example.zim"); - - Searcher searcher; - ASSERT_TRUE (searcher.add_reader(&reader1)); - ASSERT_FALSE(searcher.add_reader(&reader1)); - ASSERT_FALSE(searcher.add_reader(&reader2)); - ASSERT_FALSE(searcher.add_reader(&reader3)); -} - -TEST(Searcher, search) { - Reader reader("./test/example.zim"); - - Searcher searcher; - searcher.add_reader(&reader); - ASSERT_EQ(searcher.get_reader(0)->getTitle(), reader.getTitle()); - - searcher.search("wiki", 0, 2); - searcher.restart_search(); - ASSERT_EQ(searcher.getEstimatedResultCount(), (unsigned int)2); - - auto result = searcher.getNextResult(); - ASSERT_EQ(result->get_title(), "FreedomBox for Communities/Offline Wikipedia - Wikibooks, open books for an open world"); - result = searcher.getNextResult(); - ASSERT_EQ(result->get_title(), "Wikibooks"); -} - -TEST(Searcher, suggestion) { - Reader reader("./test/zimfile.zim"); - - Searcher searcher; - searcher.add_reader(&reader); - ASSERT_EQ(searcher.get_reader(0)->getTitle(), reader.getTitle()); - - std::string query = "ray"; - searcher.suggestions(query, true); - searcher.restart_search(); - - auto result = searcher.getNextResult(); - ASSERT_EQ(result->get_title(), "Charles, Ray"); - ASSERT_EQ(result->get_url(), "A/Charles,_Ray"); - ASSERT_EQ(result->get_snippet(), "Charles, Ray"); - ASSERT_EQ(result->get_score(), 0); - ASSERT_EQ(result->get_content(), ""); - ASSERT_EQ(result->get_size(), 0); - ASSERT_EQ(result->get_wordCount(), 0); - ASSERT_EQ(result->get_zimId(), ""); - - result = searcher.getNextResult(); - ASSERT_EQ(result->get_title(), "Ray (film)"); -} - -TEST(Searcher, incrementalRange) { - // Attempt to get 50 results in steps of 5 - zim::Archive archive("./test/zimfile.zim"); - zim::Searcher ftsearcher(archive); - zim::Query query; - query.setQuery("ray"); - auto search = ftsearcher.search(query); - - int suggCount = 0; - for (int i = 0; i < 10; i++) { - auto srs = search.getResults(i*5, 5); // get 5 results - ASSERT_EQ(srs.size(), 5); - suggCount += srs.size(); - } - ASSERT_EQ(suggCount, 50); -} - -}