Release Overview for 1.0.4
This page contains a high level description of the more notable changes made for release 1.0.4. For full details, see the NEWS files in each module:
OP_SCALE_WEIGHT
This new query operator allows the weights of a subquery to be scaled by a constant factor, which for example allows some fields to be treated as more important for ranking results.
QueryParser
A field prefix can now be mapped to more than one term prefix, allowing fields to be combined dynamically at search time.
A number of cases which failed to parse correctly have been fixed.
Handling of stem_strategy
STEM_ALL
has been fixed.
Matcher Fixes and Enhancements
Performance of OP_AND
, OP_FILTER
, OP_NEAR
and OP_PHRASE
has been sped up significantly.
Queries involving an OP_VALUE_RANGE
filter have been
sped up about 3.5 times.
A bug with handling the checkatleast
parameter to
Enquire::get_mset()
with pure boolean queries has been fixed.
Flint backend
Fixed a bug introduced in 1.0.3 - trying to open a flint database for reading no longer fails if it isn't writable.
Remote Backend
The remote protocol minor version has been increased (to accommodate
OP_SCALE_WEIGHT
). If you are upgrading a live system which uses the
remote backend, upgrade the servers before the clients.
Documentation
Assorted minor documentation improvements.
Omega
If an OmegaScript template specifies the same field name as both a boolean
and a probabilistic term prefix then previous the boolean setting would
be ignored (e.g. $setmap{prefix,foo,A}$setmap{boolprefix,foo,H}
). Now this
generates an error. If you set prefixes in your templates, you may wish to
check them over before upgrading.
xapian-bindings
Wrap the new OP_SCALE_WEIGHT
query operator, and corresponding Query
constructor.
The "bindings.html" file documenting each of the bindings has been renamed to
"index.html".
Fix warnings when compiled with GCC 4.2.
PHP
The bindings are now generated with a newer SWIG snapshot which fixes memory leaks in wrapped constructors and methods/functions which return a wrapped class.
Python
The non-pythonic iterators are now formally deprecated - use the pythonic iterators instead.