[Xapian-tickets] [Xapian] #394: Speed up phrase queries with a "settling pond"
Xapian
nobody at xapian.org
Fri Dec 20 02:04:04 GMT 2019
#394: Speed up phrase queries with a "settling pond"
-------------------------+-------------------------------
Reporter: Olly Betts | Owner: Olly Betts
Type: enhancement | Status: assigned
Priority: normal | Milestone: 1.5.0
Component: Matcher | Version: git master
Severity: normal | Resolution:
Keywords: | Blocked By:
Blocking: | Operating System: All
-------------------------+-------------------------------
Comment (by Olly Betts):
Replying to [comment:15 Olly Betts]:
> Replying to [comment:6 olly]:
> > It occurred to me that we should be able to just make this a !PostList
subclass which the matcher can read from. It will return out-of-order
docids, but that's OK as we already handle that for remote matches.
>
> This is no longer the case for git master - remote matches are now
handled by merging MSet objects rather than reinjecting their contents
back into a local matcher loop.
However, the (new on master) `PostListTree` class which handles the local
shards processes them one by one but their docids are interleaved, so it
returns docids in non-ascending order in the general case, so I think we
can insert the settling pond either just above or just below that and keep
the design nice and clean. I think just below is probably the right place
since otherwise we'd need to keep track of which `PostList` each entry in
the pond corresponds to. This would mean the pond had to be drained
between processing shards, but that's not unreasonable.
--
Ticket URL: <https://trac.xapian.org/ticket/394#comment:17>
Xapian <https://xapian.org/>
Xapian
More information about the Xapian-tickets
mailing list