Release Overview for 1.4.25
This page contains a high level description of the most notable changes in this release. For full details of user-visible changes, see the NEWS files in each module:
See also the full list of bug reports marked as fixed in this release.
API
MSet::get_eset()
: Don't fetch the collection frequency for each term unless we're using theBo1EWeight
expansion scheme which actually needs it. In a simple test this reduced the time taken to do a search and generate expand terms by a third. Partly addresses #264.
QueryParser::parse_query()
: Fix parse error when usingFLAG_CJK_NGRAM
(akaFLAG_NGRAMS
) with a query string which has non-CJK followed by whitespace, CJK, and more non-CJK. Patch from Robert Stepanek (https://github.com/xapian/xapian/pulls/331).
glass backend
- Check Btree level value from disk is in range, which avoids potential out of range access on corrupt database. Fixes #824, reported by group13.
- Reject invalid blocksize read from corrupted version file. Throw
DatabaseCorruptError
if value is out of range or not a power of two.
- Optimise allterms iteration. Most terms don't contain any zero bytes, and
for such terms the key for the first chunk in the termlist table is just the
termname so no decoding is needed when advancing the iterator. This optimisation
is 8.4% faster in a simple test of iterating allterms via
xapian-delve
.
Last modified
8 months ago
Last modified on 03/08/24 00:21:25
Note:
See TracWiki
for help on using the wiki.