[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