Two functions in group iterator are especially slow:
groupByHashAndAggregate(&$pre_out_pages)
computeBoostAndOutPages(&$pre_out_pages)
The first is slow when a grouped set of pages doesn't yet have any document member (only contains links referring to the same document). For each such group,
groupByHashAndAggregate(&$pre_out_pages) uses a WordIterator to see and lookup the document associated with the group (if it is in the index). This involves looking a the dictionary as well as the relevant index shard.
Similarly, computeBoostAndOutPages(&$pre_out_pages) tries to estimate the size of a group within the complete posting list based on the number of members in the first 400 documents, to do this it uses a word iterator to look up the number of inlinks for a given doc and tries to estimate the fraction of those that contain the number of terms.
In both cases it should be possible to augment the dictionary so the lookups don't involve also looking in an index shard.
administrator2011-02-22 20:30
FIxed with f96a19a
administrator2011-08-04 16:18
test
administrator2011-08-15 11:20
Boost was removed with commit ab216a as it didn't seem to actually improve the search results
Two functions in group iterator are especially slow:
groupByHashAndAggregate(&$pre_out_pages)
computeBoostAndOutPages(&$pre_out_pages)
The first is slow when a grouped set of pages doesn't yet have any document member (only contains links referring to the same document). For each such group, groupByHashAndAggregate(&$pre_out_pages) uses a WordIterator to see and lookup the document associated with the group (if it is in the index). This involves looking a the dictionary as well as the relevant index shard.
Similarly, computeBoostAndOutPages(&$pre_out_pages) tries to estimate the size of a group within the complete posting list based on the number of members in the first 400 documents, to do this it uses a word iterator to look up the number of inlinks for a given doc and tries to estimate the fraction of those that contain the number of terms.
In both cases it should be possible to augment the dictionary so the lookups don't involve also looking in an index shard.
FIxed with f96a19a
test
Boost was removed with commit ab216a as it didn't seem to actually improve the search results