Correct partition calc for doc_rank, a=chris
Correct partition calc for doc_rank, a=chris
diff --git a/src/library/index_bundle_iterators/WordIterator.php b/src/library/index_bundle_iterators/WordIterator.php
index 5bc506bdd..96091bdf5 100644
--- a/src/library/index_bundle_iterators/WordIterator.php
+++ b/src/library/index_bundle_iterators/WordIterator.php
@@ -478,10 +478,16 @@ class WordIterator extends IndexBundleIterator
$posting[self::SCORE] = ($is_ascending) ?
$num_doc_keys - $doc_map_index :
$doc_map_index;
+ $remaining_partitions = ($is_ascending) ?
+ $number_of_partitions - $num_seen_partitions :
+ $num_seen_partitions - 1;
$posting[self::DOC_RANK] = log(
$index_scaling_factor * (
- ($num_seen_partitions -1) * $this->avg_items_per_partition +
+ $remaining_partitions * $this->avg_items_per_partition +
$posting[self::SCORE]), 10);
+ if(L\IndexDocumentBundle::isAHostDocId($doc_key)) {
+ $posting[self::DOC_RANK] += 1;
+ }
}
list($posting['TITLE_LENGTH'], $num_description_scores) =
array_values(array_shift($doc_info));