diff --git a/CMakeLists.txt b/CMakeLists.txt index d84f7a90b239604a4fc01d306dee96f772b3b38d..36c2b8bfa55356ac88178bc4498a7e7991588996 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -157,7 +157,7 @@ add_executable(URLTEST ) -add_executable(search-engine search.cpp query/Query.cpp) +add_executable(search-engine search.cpp query/Searcher.cpp) add_executable(ISRWord-tests util/util.cpp diff --git a/query/Query.h b/query/Query.h deleted file mode 100644 index 92affcc43a055c794f3708b16a9a098375fbc65d..0000000000000000000000000000000000000000 --- a/query/Query.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// Created by Jake Close on 3/7/18. -// - -#pragma once - -using namespace std; - -class QueryParser - { - -public: - QueryParser ( const char *query_in ) : CompleteQuery( query_in ) - { }; - - void search ( ); - - void printResults ( ); - -private: - const char *CompleteQuery; - - }; - - diff --git a/query/Ranker/Ranker.cpp b/query/Ranker/Ranker.cpp index a636c05e554b36bff2b89e3668705b7409cac94e..4a35a524ba96f3ebdb7b402d3c131f02984d598c 100644 --- a/query/Ranker/Ranker.cpp +++ b/query/Ranker/Ranker.cpp @@ -32,7 +32,6 @@ vector< string > Ranker::rank ( ) vector<DocumentEnding> docEnds; set<string> urls; - for( auto queryWord = inputQuery.begin(); queryWord < inputQuery.end(); ++queryWord) { while ( queryWord->getCurrentLocation ( ) != MAX_Location ) diff --git a/query/Query.cpp b/query/Searcher.cpp similarity index 63% rename from query/Query.cpp rename to query/Searcher.cpp index 8058931a4f54925396d2efd93440bfcaca5d4abb..fef73dfae3f66802f3359364748a15e050e49f59 100644 --- a/query/Query.cpp +++ b/query/Searcher.cpp @@ -2,7 +2,7 @@ // Created by Jake Close on 3/7/18. // -#include "Query.h" +#include "Searcher.h" #include <iostream> using namespace std; @@ -13,19 +13,30 @@ using namespace std; * */ -void QueryParser::search ( ) +void Searcher::search ( ) { - if ( strcmp( CompleteQuery, "-quit" ) == 0 ) + if (*CompleteQuery == "-quit" ||*CompleteQuery == "-q" ) { cout << "Thank you for using C++lue search engine" << endl; exit( 0 ); } - else if ( strcmp( CompleteQuery, "-help" ) == 0 ) + else if ( *CompleteQuery == "-help") { cout << "Manual" << endl; return; } + else + { + queryParser.parse(*CompleteQuery); + container->compile( queryParser ); + container->solve( ); + + + + + } + return; diff --git a/query/Searcher.h b/query/Searcher.h new file mode 100644 index 0000000000000000000000000000000000000000..97b87e77fce6ec372784148bb8bfae2298335fdc --- /dev/null +++ b/query/Searcher.h @@ -0,0 +1,30 @@ +// +// Created by Jake Close on 3/7/18. +// + +#include "/query/queryLanguage/QueryParser.h" +#include "/constraintSolver/ISRContainer.h" +#pragma once + +using namespace std; + +class Searcher + { + +public: + Searcher ( string *query_in ) : CompleteQuery( query_in ) + { }; + + void search ( ); + + void printResults ( ); + +private: + string *CompleteQuery; + QueryParser queryParser; + ISRContainer* container; + + + }; + + diff --git a/search.cpp b/search.cpp index 7225e1ab9b2e126c64132c48adeed997ecc6cbd1..59694619d74d6d683330e320af7d2cc32a4d8b8b 100644 --- a/search.cpp +++ b/search.cpp @@ -5,7 +5,7 @@ #include <iostream> #include <stdlib.h> #include <unistd.h> -#include "query/Query.h" +#include "query/Searcher.h" using namespace std;