[Xapian-tickets] [Xapian] #181: Optional Termlist Table

Xapian nobody at xapian.org
Mon Jun 23 10:12:08 BST 2008


#181: Optional Termlist Table
---------------------------+------------------------------------------------
 Reporter:  olly           |        Owner:  nobody  
     Type:  enhancement    |       Status:  new     
 Priority:  normal         |    Milestone:  1.1.0   
Component:  Backend-Chert  |      Version:  SVN HEAD
 Severity:  minor          |   Resolution:          
 Keywords:                 |    Blockedby:          
 Platform:  All            |     Blocking:          
---------------------------+------------------------------------------------
Changes (by richard):

  * component:  Backend-Flint => Backend-Chert


Old description:

> The termlist table should be optional - without it, documents can't be
> deleted
> or replaced, and query expansion couldn't work, but most other things
> could be
> made to work.
>
> Things which will now work:
>
> • Database::alldocs_begin() - unless the database has been created by
> removing
> the termlist table from an existing database, this will now work for
> flint as
> the docids will be contiguous and we special case that.
>
> Things which currently use it:
>
> • FlintDatabase::get_doclength() - if we stored the document lengths in
> a
> stream, chunked like postlists, then we could use that here instead.
> • Determining the percentage scores when the top document doesn't match
> all the
> query terms.
>
> Things which wouldn't work:
>
> • WritableDatabase::delete_document()
> • WritableDatabase::replace_document() if the document exists already.
> • Database::termlist_begin()
> • Document::termlist_begin()
> • Document::termlist_count()
> • Enquire::get_eset()

New description:

 The termlist table should be optional - without it, documents can't be
 deleted or replaced, and query expansion couldn't work, but most other
 things could be made to work.

 Things which will now work:

  - Database::alldocs_begin() - no longer uses the termlist.
  - Database::get_doclength() - uses the document lengths stored in the
 postlist.

 Things which currently use it:

  - Determining the percentage scores when the top document doesn't match
 all the query terms.

 Things which wouldn't work:

  - WritableDatabase::delete_document()
  - WritableDatabase::replace_document() if the document exists already.
  - Database::termlist_begin()
  - Document::termlist_begin()
  - Document::termlist_count()
  - Enquire::get_eset()

--

Comment:

 Changed Component to Backend-Chert because flint is now "frozen", so we
 won't be working on this for flint.

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



More information about the Xapian-tickets mailing list