Download Xapian/Omega 0.9.10

Spread the love

The Xapian Project development team has released version 0.9.10 of Xapian. This program is an ‘open source information retrieval library’ written in C++, and is used as the engine behind a search engine of, for example, a website. It includes a proprietary database format, APIs to edit and search databases, tools to verify databases, and binding capabilities for other languages ​​such as Java, Ruby, PHP, and Python. The list of changes looks like this:

Xapian core 0.9.10:

    API:
    • Fix WritableDatabase::replace_document() not to lose positional information for a document if it is replaced with itself with unmodified postings.
    • QueryParser: Add entries to the “unstem” map for prefixed boolean filters (eg type:html).
    • Fix inconsistent ordering of documents between pages with Enquire::set_sort_by_value_then_relevance (fixes bug#110).

    test suite:

    • Workaround apparent bug in MSVC’s ifstream class.

    flint and quartz backends:

    • Fix possible double-free after a transaction fails.
    • Fix code for recovering from failing to open a table for reading mid-modification. If modifications are so frequent that opening for reading fails 100 times in a row, throw DatabaseModifiedError not DatabaseOpeningError.
    • Don’t call std::string::append(ptr, 0) when ptr may be uninitialized or NULL (rather suspect, and reported to cause SEGV-like behavior with MSVC).
    • Ensure both_bases is set to false if we don’t have both bases when opening a table using an existing object.
    • Use MS Windows API calls to delete files and open files we might want to delete while they are still open (ie the flint and quartz btree base files). This fixes a problem when a writer can’t discard an old revision at the exact moment a reader is opening it (bug #108).

    remote backend:

    • Fix WritableDatabase::has_positions() to refetch the cached value if it might be out of date.
    • Fix incorrect serialization of a query with non-default termpositions.

    memory backend:

    • If replace_document is used to set the docid of a newly added document which has previously existed, ensure we mark that document as valid.

    documentation:

    • Assorted improvements to API documentation.
    • docs/Makefile.am: The larger pool_size we set in 0.9.9 for building sourcedoc.pdf was a bit marginal, so increase it further.
    • docs/stem.html,docs/install.html: Correct 2 references to “CVS” to say “SVN” instead.
    • HACKING: Update the release checklist.

    portability:

    • Fix flint and quartz to allow 2GB+ B-tree tables when compiling with MSVC.

    package:

    • RPMs: Remove “.” from end of “Summary:”. Package the new man page for xapian-progsrv.

[break]An application that can be used on top of Xapian is Omega, a search engine to search Xapian databases. Omega also includes some tools that can be used to populate databases with data. Because the development of Omega is closely linked to that of Xapian itself, the developers of both programs release new versions simultaneously with the same version number. The list of changes for Omega 0.9.10 looks like this:[/break]Omega 0.9.10:

    documentation:
    • docs/omegascript.txt: Rewrite introductory paragraph. Note that whitespace is significant, and add explicit warning to $setmap.
    • docs/termprefixes.txt: Expand section on boolean prefixes, showing how to generate them using scriptindex, and how to allow them to be selected in an HTML form.

    indexers:

    • omindex: Generate correct MD5 checksums on big-endian platforms.

    omega:

    • Fix $substr{} with negative start to actually work.
    • Fix $substr{} to never cause a C++ exception.

    package:

    • omega.spec.in: Remove “.” from the end of the Summary.

[break]The following two files can be downloaded:
Xapian 0.9.10
Omega 0.9.10

Version number 0.9.10
Operating systems Windows 9x, Windows NT, Windows 2000, Linux, BSD, Windows XP, macOS, Solaris, UNIX, Windows Server 2003
Website The Xapian Project
Download
License type GPL
You might also like
Exit mobile version