Skip to content
Snippets Groups Projects
Commit a49cd3f7 authored by jsclose's avatar jsclose
Browse files

intial search engine driver + queryParser

parent 71e0bafc
No related branches found
No related tags found
No related merge requests found
...@@ -3,7 +3,7 @@ project(eecs398_search) ...@@ -3,7 +3,7 @@ project(eecs398_search)
set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD 11)
add_executable(search add_executable(parser-test
main.cpp main.cpp
shared/ProducerConsumerQueue.cpp shared/ProducerConsumerQueue.cpp
shared/ProducerConsumerQueue.h shared/ProducerConsumerQueue.h
...@@ -54,6 +54,8 @@ add_executable(ParserEndToEndTest ...@@ -54,6 +54,8 @@ add_executable(ParserEndToEndTest
add_executable(URLTEST shared/url.h shared/urlTest.cpp) add_executable(URLTEST shared/url.h shared/urlTest.cpp)
add_executable(search-engine search.cpp query/Query.cpp)
find_package(OpenSSL REQUIRED) find_package(OpenSSL REQUIRED)
target_link_libraries(crawl OpenSSL::SSL pthread) target_link_libraries(crawl OpenSSL::SSL pthread)
......
...@@ -110,6 +110,19 @@ depend: ...@@ -110,6 +110,19 @@ depend:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend .PHONY : depend
#=============================================================================
# Target rules for targets named search-engine
# Build rule for target.
search-engine: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 search-engine
.PHONY : search-engine
# fast build rule for target.
search-engine/fast:
$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/build
.PHONY : search-engine/fast
#============================================================================= #=============================================================================
# Target rules for targets named URLTEST # Target rules for targets named URLTEST
...@@ -136,6 +149,19 @@ ParserEndToEndTest/fast: ...@@ -136,6 +149,19 @@ ParserEndToEndTest/fast:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/build $(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/build
.PHONY : ParserEndToEndTest/fast .PHONY : ParserEndToEndTest/fast
#=============================================================================
# Target rules for targets named StemmerTest
# Build rule for target.
StemmerTest: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 StemmerTest
.PHONY : StemmerTest
# fast build rule for target.
StemmerTest/fast:
$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/build
.PHONY : StemmerTest/fast
#============================================================================= #=============================================================================
# Target rules for targets named TokenizerTest # Target rules for targets named TokenizerTest
...@@ -176,30 +202,17 @@ crawl/fast: ...@@ -176,30 +202,17 @@ crawl/fast:
.PHONY : crawl/fast .PHONY : crawl/fast
#============================================================================= #=============================================================================
# Target rules for targets named StemmerTest # Target rules for targets named parser-test
# Build rule for target.
StemmerTest: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 StemmerTest
.PHONY : StemmerTest
# fast build rule for target.
StemmerTest/fast:
$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/build
.PHONY : StemmerTest/fast
#=============================================================================
# Target rules for targets named search
# Build rule for target. # Build rule for target.
search: cmake_check_build_system parser-test: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 search $(MAKE) -f CMakeFiles/Makefile2 parser-test
.PHONY : search .PHONY : parser-test
# fast build rule for target. # fast build rule for target.
search/fast: parser-test/fast:
$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/build $(MAKE) -f CMakeFiles/parser-test.dir/build.make CMakeFiles/parser-test.dir/build
.PHONY : search/fast .PHONY : parser-test/fast
crawler/SocketReader.o: crawler/SocketReader.cpp.o crawler/SocketReader.o: crawler/SocketReader.cpp.o
...@@ -289,7 +302,7 @@ main.o: main.cpp.o ...@@ -289,7 +302,7 @@ main.o: main.cpp.o
# target to build an object file # target to build an object file
main.cpp.o: main.cpp.o:
$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/main.cpp.o $(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/main.cpp.o
$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/main.cpp.o $(MAKE) -f CMakeFiles/parser-test.dir/build.make CMakeFiles/parser-test.dir/main.cpp.o
.PHONY : main.cpp.o .PHONY : main.cpp.o
main.i: main.cpp.i main.i: main.cpp.i
...@@ -299,7 +312,7 @@ main.i: main.cpp.i ...@@ -299,7 +312,7 @@ main.i: main.cpp.i
# target to preprocess a source file # target to preprocess a source file
main.cpp.i: main.cpp.i:
$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/main.cpp.i $(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/main.cpp.i
$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/main.cpp.i $(MAKE) -f CMakeFiles/parser-test.dir/build.make CMakeFiles/parser-test.dir/main.cpp.i
.PHONY : main.cpp.i .PHONY : main.cpp.i
main.s: main.cpp.s main.s: main.cpp.s
...@@ -309,7 +322,7 @@ main.s: main.cpp.s ...@@ -309,7 +322,7 @@ main.s: main.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
main.cpp.s: main.cpp.s:
$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/main.cpp.s $(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/main.cpp.s
$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/main.cpp.s $(MAKE) -f CMakeFiles/parser-test.dir/build.make CMakeFiles/parser-test.dir/main.cpp.s
.PHONY : main.cpp.s .PHONY : main.cpp.s
parser/Parser.o: parser/Parser.cpp.o parser/Parser.o: parser/Parser.cpp.o
...@@ -366,6 +379,60 @@ parser/tests/parserTest.cpp.s: ...@@ -366,6 +379,60 @@ parser/tests/parserTest.cpp.s:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/parser/tests/parserTest.cpp.s $(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/parser/tests/parserTest.cpp.s
.PHONY : parser/tests/parserTest.cpp.s .PHONY : parser/tests/parserTest.cpp.s
query/Query.o: query/Query.cpp.o
.PHONY : query/Query.o
# target to build an object file
query/Query.cpp.o:
$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/query/Query.cpp.o
.PHONY : query/Query.cpp.o
query/Query.i: query/Query.cpp.i
.PHONY : query/Query.i
# target to preprocess a source file
query/Query.cpp.i:
$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/query/Query.cpp.i
.PHONY : query/Query.cpp.i
query/Query.s: query/Query.cpp.s
.PHONY : query/Query.s
# target to generate assembly for a file
query/Query.cpp.s:
$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/query/Query.cpp.s
.PHONY : query/Query.cpp.s
search.o: search.cpp.o
.PHONY : search.o
# target to build an object file
search.cpp.o:
$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/search.cpp.o
.PHONY : search.cpp.o
search.i: search.cpp.i
.PHONY : search.i
# target to preprocess a source file
search.cpp.i:
$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/search.cpp.i
.PHONY : search.cpp.i
search.s: search.cpp.s
.PHONY : search.s
# target to generate assembly for a file
search.cpp.s:
$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/search.cpp.s
.PHONY : search.cpp.s
shared/Document.o: shared/Document.cpp.o shared/Document.o: shared/Document.cpp.o
.PHONY : shared/Document.o .PHONY : shared/Document.o
...@@ -399,7 +466,7 @@ shared/ProducerConsumerQueue.o: shared/ProducerConsumerQueue.cpp.o ...@@ -399,7 +466,7 @@ shared/ProducerConsumerQueue.o: shared/ProducerConsumerQueue.cpp.o
# target to build an object file # target to build an object file
shared/ProducerConsumerQueue.cpp.o: shared/ProducerConsumerQueue.cpp.o:
$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/shared/ProducerConsumerQueue.cpp.o $(MAKE) -f CMakeFiles/parser-test.dir/build.make CMakeFiles/parser-test.dir/shared/ProducerConsumerQueue.cpp.o
.PHONY : shared/ProducerConsumerQueue.cpp.o .PHONY : shared/ProducerConsumerQueue.cpp.o
shared/ProducerConsumerQueue.i: shared/ProducerConsumerQueue.cpp.i shared/ProducerConsumerQueue.i: shared/ProducerConsumerQueue.cpp.i
...@@ -408,7 +475,7 @@ shared/ProducerConsumerQueue.i: shared/ProducerConsumerQueue.cpp.i ...@@ -408,7 +475,7 @@ shared/ProducerConsumerQueue.i: shared/ProducerConsumerQueue.cpp.i
# target to preprocess a source file # target to preprocess a source file
shared/ProducerConsumerQueue.cpp.i: shared/ProducerConsumerQueue.cpp.i:
$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/shared/ProducerConsumerQueue.cpp.i $(MAKE) -f CMakeFiles/parser-test.dir/build.make CMakeFiles/parser-test.dir/shared/ProducerConsumerQueue.cpp.i
.PHONY : shared/ProducerConsumerQueue.cpp.i .PHONY : shared/ProducerConsumerQueue.cpp.i
shared/ProducerConsumerQueue.s: shared/ProducerConsumerQueue.cpp.s shared/ProducerConsumerQueue.s: shared/ProducerConsumerQueue.cpp.s
...@@ -417,7 +484,7 @@ shared/ProducerConsumerQueue.s: shared/ProducerConsumerQueue.cpp.s ...@@ -417,7 +484,7 @@ shared/ProducerConsumerQueue.s: shared/ProducerConsumerQueue.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
shared/ProducerConsumerQueue.cpp.s: shared/ProducerConsumerQueue.cpp.s:
$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/shared/ProducerConsumerQueue.cpp.s $(MAKE) -f CMakeFiles/parser-test.dir/build.make CMakeFiles/parser-test.dir/shared/ProducerConsumerQueue.cpp.s
.PHONY : shared/ProducerConsumerQueue.cpp.s .PHONY : shared/ProducerConsumerQueue.cpp.s
shared/urlTest.o: shared/urlTest.cpp.o shared/urlTest.o: shared/urlTest.cpp.o
...@@ -589,14 +656,15 @@ help: ...@@ -589,14 +656,15 @@ help:
@echo "... clean" @echo "... clean"
@echo "... depend" @echo "... depend"
@echo "... edit_cache" @echo "... edit_cache"
@echo "... search-engine"
@echo "... URLTEST" @echo "... URLTEST"
@echo "... ParserEndToEndTest" @echo "... ParserEndToEndTest"
@echo "... rebuild_cache"
@echo "... StemmerTest"
@echo "... TokenizerTest" @echo "... TokenizerTest"
@echo "... StringProcessingTest" @echo "... StringProcessingTest"
@echo "... crawl" @echo "... crawl"
@echo "... rebuild_cache" @echo "... parser-test"
@echo "... StemmerTest"
@echo "... search"
@echo "... crawler/SocketReader.o" @echo "... crawler/SocketReader.o"
@echo "... crawler/SocketReader.i" @echo "... crawler/SocketReader.i"
@echo "... crawler/SocketReader.s" @echo "... crawler/SocketReader.s"
...@@ -615,6 +683,12 @@ help: ...@@ -615,6 +683,12 @@ help:
@echo "... parser/tests/parserTest.o" @echo "... parser/tests/parserTest.o"
@echo "... parser/tests/parserTest.i" @echo "... parser/tests/parserTest.i"
@echo "... parser/tests/parserTest.s" @echo "... parser/tests/parserTest.s"
@echo "... query/Query.o"
@echo "... query/Query.i"
@echo "... query/Query.s"
@echo "... search.o"
@echo "... search.i"
@echo "... search.s"
@echo "... shared/Document.o" @echo "... shared/Document.o"
@echo "... shared/Document.i" @echo "... shared/Document.i"
@echo "... shared/Document.s" @echo "... shared/Document.s"
......
//
// Created by Jake Close on 3/7/18.
//
#include "Query.h"
#include <iostream>
using namespace std;
/*
* Searchs the index for the query
*
*
*/
void QueryParser::search()
{
if( strcmp(CompleteQuery, "-quit") == 0 )
{
cout << "Thank you for using C++lue search engine" << endl;
exit(0);
}
else if(strcmp(CompleteQuery, "-help") == 0)
{
cout << "Manual" << endl;
}
return;
}
/*
*
* Prints the top 10 results
*
*/
void QueryParser::printResults()
{
cout << " Generated XXX results in about XXX seconds " << endl;
return;
}
\ No newline at end of file
//
// 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;
};
File added
//
// Created by Jake Close on 3/7/18.
//
#include <iostream>
#include <stdlib.h>
#include <unistd.h>
#include "query/Query.h"
using namespace std;
int main( int argc, char *argv[] )
{
cout << " --- WELCOME EECS 398 SEARCH ENGINE --- " << endl;
cout << endl;
cout << "What would you like to know? " << endl;
cout << endl;
cout << "type -q to exit or -help for more information" << endl;
string q;
while(true)
{
while ( getline( cin, q ) && !q.empty( ))
{
QueryParser *query = new QueryParser( q.c_str( ));
query->search( );
query->printResults( );
}
}
return 0;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment