Opened 14 years ago

Closed 11 years ago

Last modified 11 years ago

#45 closed enhancement (released)

Rework StatsGatherer

Reported by: olly Owned by: olly
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 Changed 14 years ago by olly

  • Severity changed from blocker to normal
  • Status changed from new to assigned

comment:2 Changed 13 years ago by olly

  • op_sys changed from other to All
  • Priority changed from high to lowest
  • rep_platform changed from Other to All
  • Severity changed from normal to enhancement
  • Version changed from other to CVS HEAD

comment:3 Changed 12 years ago by olly

  • Component changed from other to Other

comment:4 Changed 11 years ago by richard

  • Resolution set to fixed
  • Status changed from assigned to 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 Changed 11 years ago by olly

  • Operating System set to All
  • Resolution changed from fixed to released
Note: See TracTickets for help on using tickets.