Ticket #279 (closed defect: fixed)

Opened 5 months ago

Last modified 5 months ago

Remote backend has bad performance due to termlist access

Reported by: richard Owned by: richard
Priority: normal Milestone: 1.0.7
Component: Matcher Version: 1.0.6
Severity: normal Keywords:
Cc: Blocked By:
Operating System: All Blocking:

Description

When searching multiple databases with the remote backend, the matcher attempts to normalise the percentage weights based on the terms matching the top document. This is currently implemented by accessing the termlist, which is particular inefficient for remote documents, and results in very slow searches. The proper fix for this is related to ticket #216, but the fix for that is likely not to be suitable for backport to the 1.0 branch. However, it may be possible to make a simple fix for remote backends which is backportable, by calculating the percentage weight at the server end, rather than relying on the client end to normalise it.

Attachments

remotepercentscale.patch (4.8 kB) - added by richard 5 months ago.
Patch special-casing the percentage calculation for remote databases

Change History

Changed 5 months ago by richard

Patch special-casing the percentage calculation for remote databases

Changed 5 months ago by richard

Attached a patch which special cases the calculation of the percentage factor for remote databases, by using the value supplied by the remote end. This ought to help speed things up, without changing behaviour in any other way, but is untested (well, it passes the testsuite, but I've not checked it's performance characteristics yet, and I'm also pretty certain that the testsuite doesn't have adequate coverage of the percentage calculation stuff).

Changed 5 months ago by richard

  • status changed from new to assigned

Changed 5 months ago by richard

Applied in revision [10822] to head. Still needs backporting to 1.0.

Changed 5 months ago by olly

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

Backported for 1.0.7.

Note: See TracTickets for help on using tickets.