Opened 15 years ago

Closed 12 years ago

Last modified 12 years ago

#45 closed enhancement (released)

Rework StatsGatherer

Reported by: Olly Betts Owned by: Olly Betts
Priority: lowest Milestone:
Component: Other Version: SVN trunk
Severity: minor Keywords:
Cc: Blocked By:
Blocking: Operating System: All

Description

Try to replace the StatsGatherer mechanism with something easier to understand and maintain.

Change History (5)

comment:1 by Olly Betts, 15 years ago

Severity: blockernormal
Status: newassigned

comment:2 by Olly Betts, 14 years ago

op_sys: otherAll
Priority: highlowest
rep_platform: OtherAll
Severity: normalenhancement
Version: otherCVS HEAD

comment:3 by Olly Betts, 13 years ago

Component: otherOther

comment:4 by Richard Boulton, 12 years ago

Resolution: fixed
Status: assignedclosed

StatsGatherer and StatsSource no longer exist, and the code is much clearer I think, so I'm marking this as fixed.

Instead of the old mechanism, we now create a Stats object and pass it to the MultiMatch constructor. This passes the object to each of the submatchers, calling prepare_match() on them to populate the Stats object with the statistics for the local set of collections. If we're running the search locally (ie, MultiMatch is called from Enquire, not from RemoteServer), the same statistics are then passed to the MultiMatch::get_mset() call. If we're running the search as part of a larger remote search (ie, MultiMatch is called from RemoteServer), the local statistics are sent off, merged with any other statistics, and the global statistics are then received from the client: the MultiMatch::get_mset() call is then called with the global statistics.

The flow of data here is reasonably straightforward and uncomplicated, so I think this is now maintainable.

comment:5 by Olly Betts, 12 years ago

Operating System: All
Resolution: fixedreleased
Note: See TracTickets for help on using tickets.