[Xapian-tickets] [Xapian] #608: as_partial_query / as_wildcarded_query and limiting the expansion of terms

Xapian nobody at xapian.org
Tue Nov 27 22:02:03 GMT 2012


#608: as_partial_query / as_wildcarded_query and limiting the expansion of terms
-------------------------+--------------------------------------------------
 Reporter:  boomboo      |       Owner:  olly    
     Type:  enhancement  |      Status:  assigned
 Priority:  normal       |   Milestone:  1.3.2   
Component:  QueryParser  |     Version:          
 Severity:  normal       |    Keywords:          
Blockedby:               |    Platform:  All     
 Blocking:               |  
-------------------------+--------------------------------------------------
Changes (by olly):

  * status:  new => assigned


Comment:

 Sorry for the delay in looking at this.

 I've attached an updated version of the patch.  Changes are:

  * It's against trunk (since we need to apply this there before we can
 consider backporting it)
  * A number of tweaks to make it match the coding standards in HACKING
  * Use appropriate types rather than "unsigned int".
  * Pass std::string and TermF by const reference rather than value
  * Use a "shim" iterator to avoid needing the intermediate subqs_partial
  * If there are multiple active prefixes, we pick the best N terms over
 all of them, rather than picking the best N from the first, and only
 considering the others if we haven't found N
  * Don't bother tracking min_freq until we make the heap, at which point
 we can just read it off the top of the heap

 Still to do:

  * Needs feature tests
  * Needs corresponding documentation updates
  * I think if we backport this to 1.2, we should default to no limit to
 avoid a change in behaviour, but for trunk we could reasonably impose a
 default - limiting the number of terms for FLAG_PARTIAL will probably give
 better results as well as being faster.  Currently this is 100, but is
 that a good default?
  * Do we want the same feature for wildcards?  If so, do we want it
 instead of the current limit on expansion which throws an exception, or as
 well?
  * Should we have separate limits in the API for wildcards and partial
 expansions?

-- 
Ticket URL: <http://trac.xapian.org/ticket/608#comment:3>
Xapian <http://xapian.org/>
Xapian



More information about the Xapian-tickets mailing list