[Xapian-tickets] [Xapian] #199: Merge MultiValueCountMatchSpy
Xapian
nobody at xapian.org
Wed Feb 3 17:26:45 GMT 2010
#199: Merge MultiValueCountMatchSpy
-------------------------+--------------------------------------------------
Reporter: richard | Owner: richard
Type: enhancement | Status: assigned
Priority: low | Milestone: 1.2.x
Component: Library API | Version: SVN trunk
Severity: normal | Resolution:
Keywords: | Blockedby: 198
Platform: All | Blocking:
-------------------------+--------------------------------------------------
Old description:
> matchspy.h currently contains a set of matchspy implementations, and some
> associated functions, which are not yet in any release. We need to go
> through
> and tidy these up before the next release, before committing to
> supporting these.
>
> Current status:
>
> StringListSerialiser is a bit ad-hoc - maybe it would be better simply to
> make
> values capable of storing multiple values. (See bug #198).
>
> TermCountMatchSpy should probably be removed - it goes against the
> explicitly
> documented "Match spies and match deciders shouldn't access anything
> except for
> document values", and is thus liable to be misused, leading to a bad
> impression
> of Xapian's speed. Richard is doing some tests to see how performance
> compares
> with a value based implementation (but this would also be helped if it
> was
> easier to store multiple values in a document).
>
> CategorySelectMatchSpy possibly shouldn't be a match spy - it could
> simply be a
> class (or a function) which is passed the results of
> ValueCountMatchSpy::get_values(), and returns a score for the
> categorisation,
> together with another function which converts the output of get_values()
> to a
> set of ranges.
New description:
matchspy.h on the matchspy branch contains a MultiValueCountMatchSpy
implementation, which allows a document to have multiple values in a
single slot. This is definitely a useful feature when implemented
faceting systems, but the current implementation is a bit unpleasant: it
uses a pair of public classes to serialise and unserialise lists of values
to be held in the slots.
A nicer approach would be to make values capable of storing multiple
values. (See bug #198).
--
Comment(by richard):
Update summary to reflect the current state: all the other matchspies
which were mentioned are now gone.
--
Ticket URL: <http://trac.xapian.org/ticket/199#comment:21>
Xapian <http://xapian.org/>
Xapian
More information about the Xapian-tickets
mailing list