#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 , 20 years ago
Severity: | blocker → normal |
---|---|
Status: | new → assigned |
comment:2 by , 20 years ago
op_sys: | other → All |
---|---|
Priority: | high → lowest |
rep_platform: | Other → All |
Severity: | normal → enhancement |
Version: | other → CVS HEAD |
comment:3 by , 18 years ago
Component: | other → Other |
---|
comment:4 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:5 by , 17 years ago
Operating System: | → All |
---|---|
Resolution: | fixed → released |
Note:
See TracTickets
for help on using tickets.
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.