Opened 22 years ago

Closed 19 years ago

Last modified 19 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, 22 years ago

Severity: blocker → normal
Status: new → assigned

comment:2 by Olly Betts, 21 years ago

op_sys: other → All
Priority: high → lowest
rep_platform: Other → All
Severity: normal → enhancement
Version: other → CVS HEAD

comment:3 by Olly Betts, 20 years ago

Component: other → Other

comment:4 by Richard Boulton, 19 years ago

Resolution: → fixed
Status: assigned → closed

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, 19 years ago

Operating System: → All
Resolution: fixed → released
Note: See TracTickets for help on using tickets.