[Xapian-tickets] [Xapian] #181: Optional Termlist Table
Xapian
nobody at xapian.org
Sun Jul 12 12:08:55 BST 2009
#181: Optional Termlist Table
---------------------------+------------------------------------------------
Reporter: olly | Owner: olly
Type: enhancement | Status: assigned
Priority: high | Milestone: 1.1.4
Component: Backend-Chert | Version: SVN trunk
Severity: minor | Resolution:
Keywords: | Blockedby: 363
Platform: All | Blocking:
---------------------------+------------------------------------------------
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() - 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 (see #363).
>
> 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.
- Determining the percentage scores when the top document doesn't match
all the query terms no longer uses the termlist (was #363).
Things which currently use it:
- Enquire::matching_terms_begin() - we could record this information
during the match, though it might be hard to do without a speed penalty.
- WritableDatabase::delete_document() - we could allow this with inexact
statistics like how lucene does (#388).
- WritableDatabase::replace_document() if the document exists already
(again, possible with inexact statistics).
Things which just wouldn't work:
- Database::termlist_begin()
- Document::termlist_begin()
- Document::termlist_count()
- Enquire::get_eset()
--
Comment(by olly):
#363 fixed.
--
Ticket URL: <http://trac.xapian.org/ticket/181#comment:15>
Xapian <http://xapian.org/>
Xapian
More information about the Xapian-tickets
mailing list