SHA256
1
0
forked from pool/xapian-core

- update to 1.4.19:

* New QueryParser::FLAG_NO_POSITIONS flag.  With this flag enabled, any query
    operations which would use positional information are replaced by the nearest
    equivalent which doesn't (so phrase searches, NEAR and ADJ will result in
    OP_AND).  This is intended to replace the automatic conversion of OP_PHRASE,
    etc to OP_AND when a database has no positional information, which will no
    longer happen in the release series after 1.4.
  * Give a compile error for code which adds a Database to WritableDatabase.
    Prior to 1.4.19, this compiled and effectively created a "black-hole" shard
    which quietly discarded any changes made to it.
    In 1.4.19 it's still possible to perform this operation by assigning the
    WritableDatabase to a Database first, which is harder to fix.  This case
    throws an exception on git master where it's easier to address.
  * Fix TermIterator::skip_to() with sharded databases which sometimes was
    failing to advance all the way to the requested term.  Uncovered while
    addressing warning from GCC's -Wduplicated-cond, reported by dcb in #816.
  * Clamp edit distance to one less than the length of the word we've been asked
    to correct, which makes the algorithm we use more efficient.  We already
    require suggestion to have at least one character in common, so the only
    change to suggestions is we'll no longer suggest corrections which are
    twice as long or longer even if the edit distance would allow it, which
    seems like an improvement in itself.
  * Minor optimisation expanding wildcards.
  * PostingIterator::get_description(): For an all-docs iterator on a glass
    database, get_description() would call get_docid() which isn't valid to
    do once the iterator has reached the end.
  * Expand allterms test coverage.
  * Fetch wdf upper bound from postlist which avoids an extra postlist table
    cursor seek per weighted query term, and also means we now use a per-shard
    wdf upper bound for local shards which will in typically give a tighter

OBS-URL: https://build.opensuse.org/package/show/server:search/xapian-core?expand=0&rev=98
This commit is contained in:
Dirk Mueller 2022-01-19 21:11:05 +00:00 committed by Git OBS Bridge
parent ad47d0d279
commit 65525ea2aa
6 changed files with 69 additions and 21 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:196ddbb4ad10450100f0991a599e4ed944cbad92e4a6fe813be6dce160244b77
size 2984508

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEECOJAD/f+j+3jrLUoGBR7BzutKwcFAl//ojEACgkQGBR7Bzut
KwfthRAAsYFtLhKjMBOQ3Aps46XN/RXJRMuXWtL1+Bs9fZGup3n/S78VgjxPenxs
gSdXzY5mqmCpjFit/Gg1gibi/SX0YJ3Xm0BDbn40uEYlc2TzWnoH8xuPR+QnW3i7
2Gynh+yMbjEk2SJVbtGGdyl0A/fq/HaSE72dySXYRPi0l7mGb2LhNCy+6Wb6txjb
EPMYSUuqPTweWQFj47BTqjBF60pldcm/izUCYdvwbHWwkC7S4UJHRMM7zR7xhC/s
wBalJ8EbWdpByI2xIlF8s41tx/AKghF7W2PAgkXLYisMElIOIDOtKhCM0s3H2ySm
F1SCoaosmvY4cQZ4MNwE/Q/4sK2GMfXAczRMCrVJCTVXFL1HbyIHVkcEKcbFioOg
JCpq/q5EK8U+nb4yUcZI719auezdenTyC8A8CPWzr/pk4uszm4cMJGhwunaTPMSb
Lvxgz6/SqjtZKSHIDePCPncEmrPbSE1c1eqPu2Mqu3UIyXfH8HA68jYZ7I4jjI+U
Lo3kXRnB6dNw4RB/4rKZE9FSTi6mvUjwKNHYdUP4UrSeIpeNG9QYvJjW2JmLeu1f
+RJ5mKXtMLfyYOPHVWKYaCH0vQT1noE9YMYlpIPLjlKxfX9YUT5ZYPZIaJDZ0pHK
vVXrb/J65vZBmAywZk+TUlAZJ6XSyYM/cR3Yq1s3ahvXdbVNyNY=
=MOrc
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1fca48fca6cc3526cc4ba93dd194fe9c1326857b78edcfb37e68d086d714a9c3
size 2994860

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEECOJAD/f+j+3jrLUoGBR7BzutKwcFAmHPlwcACgkQGBR7Bzut
KwddQRAAhQOi5UJY1RBHjKAlxh8EJ3SIUpRE72I0H6clGBnVgz6003EacW0sgTfV
FatHfKVK3dzi0OkiZ2X+XqNp8ZSJgkgVOCPwvilj9mjFGlslxMsjZD7KwAr5T1Cw
+AP+pEgKnDCnfxCaTkw+wvn7su1HmCvHIYdizPGdKhY0auJJsL2jGepfnlGKIdVV
MR11QyGICNd5UwDw5e5wKPDI/UYM6qDDRE6vl3fr0M/jVguoMfWaard74mnldunl
bNLxsq5ONmb49b3H+yPspe4TfslfxOUTe5YDkX+57hIJxRwgHjxh9cjS+a5IF7U+
Q7zl+qieZI2+ZOhveIGizqTkoqlHmxfn04lLTYHU4piFaD1QRv0GmsmdHqXgN/Jb
D6dDiCZqEKFwHfjQeRpqG23RXkd+TlzZaB32MJtiQ1E4iY5YW1hNtfDFL3OFxDOp
wWDqTcFB3qRbPzqU4v59XMzY/gb+JdDTlf+lq/3eKYbvpZmK022wIGzBA1FrRi1g
un1hx7Pru/3N9N41B+SSXokApa0dzTvrhL8ewF1kvpj2DDr5RPhK/DJZpV/Daojz
T1/YcL0G5d0JoZgDSXQiTO9KCVqSwXAH55hCbhSFgTVO8sbgT2JxvlJSuBwJgVuy
sdvCs3oXUHbZucSO/2lNqKHW/4hBNg9x41cPvHoSnS+ocod1PJ8=
=DPVN
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,51 @@
-------------------------------------------------------------------
Wed Jan 19 21:10:03 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 1.4.19:
* New QueryParser::FLAG_NO_POSITIONS flag. With this flag enabled, any query
operations which would use positional information are replaced by the nearest
equivalent which doesn't (so phrase searches, NEAR and ADJ will result in
OP_AND). This is intended to replace the automatic conversion of OP_PHRASE,
etc to OP_AND when a database has no positional information, which will no
longer happen in the release series after 1.4.
* Give a compile error for code which adds a Database to WritableDatabase.
Prior to 1.4.19, this compiled and effectively created a "black-hole" shard
which quietly discarded any changes made to it.
In 1.4.19 it's still possible to perform this operation by assigning the
WritableDatabase to a Database first, which is harder to fix. This case
throws an exception on git master where it's easier to address.
* Fix TermIterator::skip_to() with sharded databases which sometimes was
failing to advance all the way to the requested term. Uncovered while
addressing warning from GCC's -Wduplicated-cond, reported by dcb in #816.
* Clamp edit distance to one less than the length of the word we've been asked
to correct, which makes the algorithm we use more efficient. We already
require suggestion to have at least one character in common, so the only
change to suggestions is we'll no longer suggest corrections which are
twice as long or longer even if the edit distance would allow it, which
seems like an improvement in itself.
* Minor optimisation expanding wildcards.
* PostingIterator::get_description(): For an all-docs iterator on a glass
database, get_description() would call get_docid() which isn't valid to
do once the iterator has reached the end.
* Expand allterms test coverage.
* Fetch wdf upper bound from postlist which avoids an extra postlist table
cursor seek per weighted query term, and also means we now use a per-shard
wdf upper bound for local shards which will in typically give a tighter
weight upper bound which will tend to make various other matcher
optimisations more effective. Eric Wong reported this speeds up a
particularly slow case from ~2 minutes to ~3 seconds.
* Avoid triggering a pointless maximum weight recalculation if an unweighted
child of a MultiAndPostList prunes.
* Only check if the database has positional information when the query
uses positional information. This should help improve notmuch delete
performance. Thanks to andreas on #notmuch for analysis of the problem.
* Optimise Glass::Inverter::has_positions(). Use const auto& instead of just
auto for the loop variables. Reported to be faster by andreas on #notmuch.
* Cache result of Glass::Inverter::has_positions() since calculating it is
potentially very expensive, while maintaining a cached answer is very cheap.
* Add missing closing parenthesis to reported remote prog context, which has
been missing since this code was first added over 20 years ago!
-------------------------------------------------------------------
Tue Jan 19 22:04:41 UTC 2021 - Dirk Müller <dmueller@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package xapian-core
#
# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,7 +17,7 @@
Name: xapian-core
Version: 1.4.18
Version: 1.4.19
Release: 0
Summary: The Xapian Probabilistic Information Retrieval Library
License: GPL-2.0-only