Opened 22 years ago

Last modified 11 months ago

#52 assigned enhancement

Running postlists backwards

Reported by: Olly Betts Owned by: Olly Betts
Priority: normal Milestone: 3.0.0
Component: Backend-Honey Version: git main
Severity: minor Keywords:
Cc: Blocked By:
Blocking: Operating System: All

Description (last modified by Olly Betts)

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)

revpostlist.patch​ (22.4 KB ) - added by Olly Betts 20 years ago.
Patch to implement this for quartz

Download all attachments as: .zip

Change History (14)

comment:1 by Olly Betts, 22 years ago

Severity: blocker → normal
Status: new → assigned

comment:2 by Olly Betts, 22 years ago

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...)

by Olly Betts, 20 years ago

Attachment: revpostlist.patch​ added

Patch to implement this for quartz

comment:3 by Olly Betts, 20 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 Olly Betts, 18 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:6 by Olly Betts, 18 years ago

Milestone: 1.1.1 → 1.1.7

Triaging milestone:1.1.1 bugs.

comment:7 by Olly Betts, 17 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 Olly Betts, 17 years ago

Component: Backend-Chert → Backend-Brass
Milestone: → 1.3.0

Marking for brass and for 1.3.0 for now.

comment:9 by Olly Betts, 15 years ago

Milestone: 1.3.0 → 1.3.x

comment:10 by Olly Betts, 12 years ago

Component: Backend-Brass → Backend-Glass

comment:11 by Olly Betts, 12 years ago

Milestone: 1.3.x → 1.4.x

This isn't worth holding up 1.4.0 for.

comment:12 by Olly Betts, 7 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 Olly Betts, 4 years ago

Milestone: 1.5.0 → 2.0.0

comment:14 by Olly Betts, 11 months ago

Milestone: 2.0.0 → 3.0.0

Milestone renamed

Note: See TracTickets for help on using tickets.