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 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 18 years ago.
Patch to implement this for quartz

Download all attachments as: .zip

Change History (13)

comment:1 by Olly Betts, 20 years ago

Severity: blockernormal
Status: newassigned

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

Attachment: revpostlist.patch added

Patch to implement this for quartz

comment:3 by Olly Betts, 18 years ago

Component: otherBackend-Flint
op_sys: otherAll
Operating System: All
Priority: highnormal
rep_platform: OtherAll
Severity: normalenhancement
Version: otherSVN HEAD

comment:5 by Olly Betts, 16 years ago

Component: Backend-FlintBackend-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, 16 years ago

Milestone: 1.1.11.1.7

Triaging milestone:1.1.1 bugs.

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

Component: Backend-ChertBackend-Brass
Milestone: 1.3.0

Marking for brass and for 1.3.0 for now.

comment:9 by Olly Betts, 13 years ago

Milestone: 1.3.01.3.x

comment:10 by Olly Betts, 10 years ago

Component: Backend-BrassBackend-Glass

comment:11 by Olly Betts, 10 years ago

Milestone: 1.3.x1.4.x

This isn't worth holding up 1.4.0 for.

comment:12 by Olly Betts, 5 years ago

Component: Backend-GlassBackend-Honey
Milestone: 1.4.x1.5.0
Version: SVN trunkgit 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, 20 months ago

Milestone: 1.5.02.0.0
Note: See TracTickets for help on using tickets.