|
Xapian-core 1.0.10 (2008-12-23):
API:
* Composing an OP_NEAR query with two non-term subqueries now throws
UnimplementedError instead of AssertionError (in a --enable-assertions build)
or leading to unexpected results (otherwise). This partly addresses bug#201.
* Using a MultiValueSorter with no values set no longer causes a hang or
segmentation fault (but it is still rather pointless!)
matcher:
* If we're using values for sorting and for another purpose, cache the
Document::Internal object created to get the value for sorting, like we do
between other uses.
flint backend:
* If the disk became full while flushing database changes to disk, the
WritableDatabase object would throw a DatabaseError exception but be left in
an inconsistent state such that further use could lead to the database on
disk ending up in a "corrupt" state (theoretically fixable, but no tool
to fix such a database exists). Now we try to ensure that the object is
left in a consistent state, but if doing so throws a further exception, we
put the WritableDatabase object in a "closed" state such that further
attempts to use it throw an exception.
* Create the lockfile "flintlock" with permissions 0666 so that the umask is
honoured just like we do for the other files (previously we used 0600).
Previously it wasn't possible to lock a database for update if it was
owned by another user, even if you otherwise had sufficient permissions via
"group" or "other".
* Fix garbled exception message when a base file can't be reread.
quartz backend:
* Fix garbled exception message when a base file can't be reread.
remote backend:
* xapian-tcpsrv and xapian-progsrv now accept -w as a short form of --writable,
as was always intended.
build system:
* This release now uses newer versions of the autotools (autoconf 2.62 ->
2.63; automake 1.10.1 -> 1.10.2).
documentation:
* INSTALL: Add new paragraphs about HP's aCC and IRIX (adapted from footnotes
in PLATFORMS).
* PLATFORMS: HP testdrive has been shut down, so all mark all those machines as
"no longer available". Update atreus' build report to 1.0.10.
* docs/queryparser.html: Add link to valueranges.html.
examples:
* delve: Add missing "and" to --help output. Report termfreq and collection
freq for each term we're asked about.
portability:
* Fix to build with GCC 4.4 snapshot.
Xapian-core 1.0.9 (2008-10-31):
API:
* Database::get_spelling_suggestion() is now faster (15% speed up for parsing
queries with FLAG_SPELLING_CORRECTION set in a test on real world data).
* Fix OP_ELITE_SET segmentation fault due to excess floating point precision
on x86 Linux (and possibly other platforms).
* Database::allterms_begin() over multiple databases now gives a TermIterator
with operations O(log(n)) rather than potentially O(n) in the number of
databases.
* Add new Database methods metadata_keys_begin() and metadata_keys_end() to
allow the complete list of metadata in a database to be retrieved (this
API addition is needed so that copydatabase can copy database metadata).
testsuite:
* Remove the cached test databases before running the testsuite.
* apitest: Fix cursordelbug1 to work on Microsoft Windows (bug#301).
* apitest,queryparsertest: Skip tests which fail because the timer granularity
is too coarse to measure how long the test took. In practice, this is only
an issue on Microsoft Windows (bug#300 and bug#308).
matcher:
* Adjust percent cutoff calculations in the matcher in a way which corresponds
to the change to percentage calculations made in 1.0.7 to allow for excess
precision.
* Query::MatchAll no longer gives match results ranked by increasing document
length.
flint backend:
* xapian-compact: Fix crash while compacting spelling table for a single
database when built with MSVC, and probably other platforms, though Linux
got lucky and happened to work (bug#305).
build system:
* configure: Disable -Wconversion for now - it's not useful for older GCC and
is buggy in GCC 4.3.
* configure: Set -Wstrict-overflow to 1 instead of 5, to avoid unreasonable
warnings under GCC 4.3.
documentation:
* Minor improvements to API documentation, including documenting the
XAPIAN_FLUSH_THRESHOLD environmental variable in WriteableDatabase::flush()
(bug#306).
* valueranges.html: Fix typos in example code, and drop superfluous empty
destructor from ValueRangeProcessor subclass.
* HACKING: Several improvements.
examples:
* copydatabase: Also copy user metadata.
Xapian-core 1.0.8 (2008-09-04):
API:
* Fix output of RSet::get_description
testsuite:
* Report subtotals per backend, rather than per testgroup per backend to make
the output easier to read.
flint backend:
* Fix WritableDatabase::add_document() and replace_document() not to be O(n*n)
in the number of values in the new document.
* Fix handling of a table created lazily after the database has had commits,
and which is then cursored while still in sequential mode.
* Fix failure to remove all the Btree entries in some cases when all the
postings for a term are removed. (bug#287)
* xapian-inspect: Show the help message on start-up. Correct the documented
alias for next from ' ' to ''. Avoid reading outside of input string when it
is empty. (bug#286)
quartz backend:
* Backport fix from flint for WritableDatabase::add_document() and
replace_document() not to be O(n*n) in the number of values in the new
document.
build system:
* configure: Report bug report URL in --help output.
* xapian-config: Report bug report URL in --help output.
* configure: Fix deprecation error for --enable-debug=full to say to instead
use '--enable-assertions --enable-log' not '--enable-debug --enable-log'.
documentation:
* valueranges.html: Expand on some sections.
examples:
* quest: Fix to catch QueryParserError instead of const char * which
QueryParser threw in Xapian < 1.0.0.
* copydatabase: Use C++ forms of C headers. Only treat '\' as a directory
separator on platforms where it is. Update counter every 13 counting up to
the end so that the digits all "rotate" and the counter ends up on the exact
total.
portability:
* Eliminate literal top-bit-set characters in testsuite source code.
|
|
released under the GPL. It's written in C++, with bindings to allow
use from Perl, Python, PHP, Java, Tcl, C# and Ruby (so far!)
Xapian is a highly adaptable toolkit which allows developers to
easily add advanced indexing and search facilities to their own
applications. It supports the Probabilistic Information Retrieval
model and also supports a rich set of boolean query operators.
If you're after a packaged search engine for your website, you
should take a look at Omega: an application we supply built upon
Xapian. Unlike most other website search solutions, Xapian's
versatility allows you to extend Omega to meet your needs as they
grow.
|