Ticket #45 (closed enhancement: released)

Opened 4 years ago

Last modified 12 months ago

Rework StatsGatherer

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

Description

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

Change History

Changed 4 years ago by olly

  • status changed from new to assigned
  • severity changed from blocker to normal

Changed 3 years ago by olly

  • priority changed from high to lowest
  • rep_platform changed from Other to All
  • version changed from other to CVS HEAD
  • op_sys changed from other to All
  • severity changed from normal to enhancement

Changed 20 months ago by olly

  • component changed from other to Other

Changed 13 months ago by richard

  • status changed from assigned to closed
  • resolution set to fixed

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.

Changed 12 months ago by olly

  • resolution changed from fixed to released

Changed 12 months ago by trac

  • platform set to All
Note: See TracTickets for help on using tickets.