Opened 20 years ago
Last modified 20 months ago
#52 assigned enhancement
Running postlists backwards
Reported by: | Olly Betts | Owned by: | Olly Betts |
---|---|---|---|
Priority: | normal | Milestone: | 2.0.0 |
Component: | Backend-Honey | Version: | git master |
Severity: | minor | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Operating System: | All |
Description (last modified by )
Ability to run a postlist backwards - it's chunked, so this is feasible (with a small change we can even decode the current encoding backwards!) This is useful as we can add articles in date order and do a boolean search running the posting lists backwards to do "sort by date" (which is good as it an terminate once we've enough matches). Need this for gmane.
Attachments (1)
Change History (13)
comment:1 by , 20 years ago
Severity: | blocker → normal |
---|---|
Status: | new → assigned |
comment:2 by , 20 years ago
comment:3 by , 18 years ago
Component: | other → Backend-Flint |
---|---|
op_sys: | other → All |
Operating System: | → All |
Priority: | high → normal |
rep_platform: | Other → All |
Severity: | normal → enhancement |
Version: | other → SVN HEAD |
comment:5 by , 16 years ago
Component: | Backend-Flint → Backend-Chert |
---|---|
Description: | modified (diff) |
Milestone: | → 1.1.1 |
Retarget at chert not flint; mark for considering during 1.1.x series.
comment:7 by , 15 years ago
Milestone: | 1.1.7 |
---|
Shouldn't require incompatible changes. Would be nice to have, but requires matcher surgery. Unsetting milestone - this can wait for the next development series, and perhaps be backported if it seems a clean change.
comment:8 by , 15 years ago
Component: | Backend-Chert → Backend-Brass |
---|---|
Milestone: | → 1.3.0 |
Marking for brass and for 1.3.0 for now.
comment:9 by , 13 years ago
Milestone: | 1.3.0 → 1.3.x |
---|
comment:10 by , 10 years ago
Component: | Backend-Brass → Backend-Glass |
---|
comment:12 by , 5 years ago
Component: | Backend-Glass → Backend-Honey |
---|---|
Milestone: | 1.4.x → 1.5.0 |
Version: | SVN trunk → git master |
The matcher surgery is needed because suddenly docids can either decrease or increase as the match progresses. I think that's a bit of a pain to deal with as various operator postlist classes need to care.
An alternative would be to flip the docid order the matcher sees (by an unsigned negation) and then flip back once we have an MSet. It would probably also need flipping for MatchSpy
, etc.
We should at least review the honey encodings and make sure we aren't making this impossible if there's no good reason.
comment:13 by , 20 months ago
Milestone: | 1.5.0 → 2.0.0 |
---|
Now have patch to implement this for quartz, and change the matcher to make use of it. But either all backends need to support it, or the matcher needs to detect which is can do and use that (and a search over one quartz and one other needs to be handled...)