[Xapian-tickets] [Xapian] #295: Add support for multi and remote databases with PostingSources

Xapian nobody at xapian.org
Thu Feb 26 15:20:23 GMT 2009

#295: Add support for multi and remote databases with PostingSources
 Reporter:  richard      |        Owner:  richard  
     Type:  enhancement  |       Status:  reopened 
 Priority:  normal       |    Milestone:  1.1.0    
Component:  Matcher      |      Version:  SVN trunk
 Severity:  normal       |   Resolution:           
 Keywords:               |    Blockedby:           
 Platform:  All          |     Blocking:  206      
Changes (by olly):

  * status:  closed => reopened
  * resolution:  fixed =>


 A couple of minor things:

  * As we briefly discussed on IRC, we should explicitly point out that the
 database passed to reset() will be a subdatabase in the case of searching
 of combined dbs, and that the docids will be those of the subdatabase
 (unless we do already - I didn't look in detail to check).

  * Slightly wondering about what name() should return -
 Xapian::FooPostingSource is nicely namespaced to avoid clashes with user
 classes, but is inconsistent with Xapian::Weight - for consistency with
 that we'd return just "Foo" here (although we're about to overhaul the API
 for that so we could change it).  Having everything start "Xapian::" will
 make the map operations slower as any comparison of keys will have to scan
 the whole prefix, but that's probably not a big deal - it does seems a bit
 clumsy though.  Not sure I see a better answer.

 And a couple of possibly less minor things:

  * valueweightsource1 is failing when assertions are on (I checked
 revision 11840 which failed, so it's not a change made since this;
 revision 11837 skips this test):

 $ ./apitest -b multi_chert valueweightsource1 -v
 Running tests with backend "multi_chert"...
 Running test: valueweightsource1...
  AssertionErrorAssertionError: matcher/multimatch.cc:267:
 within_DBL_EPSILON(wt,pl->recalc_maxweight()) : values were 135 and 100

  * If you enable externalsource4 for the multi backend, it fails, but it
 looks like it should work to me:

 $ ./apitest -b multi_chert externalsource4 -v
 Running tests with backend "multi_chert"...
 Running test: externalsource4...
  AssertionErrorAssertionError: matcher/multiandpostlist.cc:57: sum <=
 MultiAndPostList::get_termfreq_est() : values were 13 and 9

Ticket URL: <http://trac.xapian.org/ticket/295#comment:12>
Xapian <http://xapian.org/>

More information about the Xapian-tickets mailing list