AyushP123

std::vector<Xapian::docid> Ranker::rank

May 29th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. std::vector<Xapian::docid>
  2. Ranker::rank(Xapian::MSet & mset, const string & model_key, const Xapian::FeatureList & flist)
  3. {
  4.     LOGCALL(API, std::vector<Xapian::docid>, "Ranker::rank", mset | model_key | flist);
  5.     std::vector<FeatureVector> fvv = flist.create_feature_vectors(mset, letor_query, Xapian::Database(db_path));
  6.     load_model_from_metadata(model_key);
  7.     std::vector<FeatureVector> rankedfvv = rank_fvv(fvv);
  8.  
  9.     std::vector<Xapian::docid> rankeddid;
  10.     for (size_t i = 0; i < rankedfvv.size(); ++i) {
  11.         rankeddid.push_back(rankedfvv[i].get_did());
  12.     }
  13.     std::vector<Xapian::Internal::MSetItem> items_;
  14.     for (size_t i=0; i < rankeddid.size(); ++i){
  15.         items_.push_back(Xapian::Internal::MSetItem(rankeddid.size()-i,rankeddid[i]));
  16.     }
  17.     mset.swap_items(items_);
  18.     return rankeddid;
  19. }
Add Comment
Please, Sign In to add comment