[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