Correct partition calc for doc_rank, a=chris

Chris Pollett [2022-07-25 00:Jul:th]
Correct partition calc for doc_rank, a=chris
Filename
src/library/index_bundle_iterators/WordIterator.php
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));
ViewGit