wiki:ReleaseOverview/1.4.25

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 the Bo1EWeight 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 using FLAG_CJK_NGRAM (aka FLAG_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.