void push_queue( std::queue< query_t* >& q, indri::api::Parameters& queries, int queryOffset ) { for( size_t i=0; i<queries.size(); i++ ) { std::string queryNumber; std::string queryText; std::string queryType = "indri"; if( queries[i].exists( "type" ) ) queryType = (std::string) queries[i]["type"]; if (queries[i].exists("text")) queryText = (std::string) queries[i]["text"]; if( queries[i].exists( "number" ) ) { queryNumber = (std::string) queries[i]["number"]; } else { int thisQuery=queryOffset + int(i); std::stringstream s; s << thisQuery; queryNumber = s.str(); } if (queryText.size() == 0) queryText = (std::string) queries[i]; // working set and RELFB docs go here. // working set to restrict retrieval std::vector<std::string> workingSet; // Rel fb docs std::vector<std::string> relFBDocs; copy_parameters_to_string_vector( workingSet, queries[i], "workingSetDocno" ); copy_parameters_to_string_vector( relFBDocs, queries[i], "feedbackDocno" ); q.push( new query_t( i, queryNumber, queryText, queryType, workingSet, relFBDocs ) ); } }
void push_queue( std::queue< query_t* >& q, indri::api::Parameters& queries, int queryOffset ) { for( size_t i=0; i<queries.size(); i++ ) { std::string queryNumber; std::string queryText; std::string queryType = "indri"; if( queries[i].exists( "type" ) ) queryType = (std::string) queries[i]["type"]; if( queries[i].exists( "number" ) ) { queryText = (std::string) queries[i]["text"]; queryNumber = (std::string) queries[i]["number"]; } else { queryText = (std::string) queries[i]; int thisQuery=queryOffset + int(i); std::stringstream s; s << thisQuery; queryNumber = s.str(); } q.push( new query_t( i, queryNumber, queryText, queryType ) ); } }
void indri::parse::StopperTransformation::read( indri::api::Parameters& stopwords ) { for( unsigned int i=0; i < stopwords.size(); i++ ) { _table.insert(strdup(((std::string) stopwords[i] ).c_str())); } }