예제 #1
0
void SearchEng::add_parse_from_index_file(std::string index_file, 
				 PageParser* parser) {
					 std::ifstream indexFile( index_file.c_str() );
					 std::string currentFileString;
					// MySetString currentWords;
					// MySetString currentLinks_strings;
					 
					 while( getline( indexFile, currentFileString) ) {
						 if(currentFileString != "") {
							 //std::cout << "trying to parse: " << currentFileString << std::endl;//debug
							 add_parse_page(currentFileString, parser);
						 }					
						 	 
						 /*parser.parse(currentFileString, currentWords, currentLinks_strings);
						 WebPage* currentPage = new Webpage;
						 
						 currentPage.filename( currentFileString );
						 currentPage.allWords(currentWords);
						 for( MySetString::iterator it = currentLinks_strings.begin(): it != currentLinks_strings.end(); ++it) {
							 WebPage::iterator it2 = allPages.find(*it);
							 if(it2 != allPages.end() ) {
								 currentPage.add_outgoing_link(it);
							 }
						 }
						 allPages.insert(currentPage);
						 delete currentPage;*/
					 }
					 
					 indexFile.close();
					 return; 
				 }
void SearchEng::add_parse_from_index_file(std::string index_file, PageParser* parser){
	std::ifstream index(index_file.c_str());
	std::string web_file;

	while(!index.eof()){
		getline(index, web_file);

		if(!web_file.empty()){//skip blank lines
			add_parse_page(web_file, parser);
		}
	}
 
}