Commit 1e57e27 1 parent 97d34d7 commit 1e57e27 Copy full SHA for 1e57e27
File tree 1 file changed +19
-0
lines changed
1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -857,6 +857,8 @@ data_size_t Metadata::BuildPairwiseFeatureRanking(const Metadata& metadata) {
857
857
num_data_ = 0 ;
858
858
num_queries_ = metadata.num_queries ();
859
859
label_.clear ();
860
+ positions_.clear ();
861
+ position_ids_.clear ();
860
862
if (pairwise_ranking_mode_ == PairwiseRankingMode::kRelevance ) {
861
863
const label_t * original_label = metadata.label ();
862
864
paired_ranking_item_index_map_.clear ();
@@ -879,6 +881,23 @@ data_size_t Metadata::BuildPairwiseFeatureRanking(const Metadata& metadata) {
879
881
label_[i] = original_label[i];
880
882
}
881
883
884
+ if (metadata.num_position_ids () > 0 ) {
885
+ positions_.resize (original_num_data);
886
+ const data_size_t * original_positions = metadata.positions ();
887
+ #pragma omp parallel for schedule(static) num_threads(num_threads) if (original_num_data >= 1024)
888
+ for (data_size_t i = 0 ; i < original_num_data; ++i) {
889
+ positions_[i] = original_positions[i];
890
+ }
891
+
892
+ const data_size_t num_position_ids = static_cast <data_size_t >(metadata.num_position_ids ());
893
+ position_ids_.resize (num_position_ids);
894
+ const std::string* original_position_ids = metadata.position_ids ();
895
+ #pragma omp parallel for schedule(static) num_threads(num_threads) if (num_position_ids >= 1024)
896
+ for (data_size_t i = 0 ; i < num_position_ids; ++i) {
897
+ position_ids_[i] = original_position_ids[i];
898
+ }
899
+ }
900
+
882
901
data_size_t num_pairs_in_query = 0 ;
883
902
query_boundaries_.clear ();
884
903
query_boundaries_.push_back (0 );
You can’t perform that action at this time.
0 commit comments