Download Xapian/Omega 1.0.6

Spread the love

Xapian is an ‘open source information retrieval library’ written in C++ and can be used as an engine behind a search engine. The whole includes its own database format, APIs to edit and search these databases, tools to check the databases and linking options for other languages ​​such as Java, Ruby, PHP and Python.

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 Xapian Project development team has released version 1.0.6 of Xapian and Omega. The lists of changes for the various components are as follows:

Xapian core 1.0.6:

API:

  • Add new query operators OP_VALUE_LE and OP_VALUE_GE which perform “single ended” range checks, and a corresponding new Query constructor.
  • Add Unicode::toupper() to complement Unicode::tolower().
  • Xapian::Stem has been further optimized – stem test now runs ~2.5% faster.

test suite:

  • tests/runtest: Fixed to handle test programs with a “.exe” extension.
  • tests/queryparsertest: Add a couple more test cases which already work to improve test coverage.
  • tests/apitest: Add caseconvert1 testcase to test Unicode::tolower() and Unicode::toupper().

flint backend:

  • xapian-check: Fix not to report an error for a database containing no postings but some user metadata.
  • Update the base files atomically to avoid problems with reading processes finding partially written ones.
  • Create lazy tables with the correct revision to avoid producing a database which we later report as “corrupt” (bug#232).
  • xapian-compact: Fix compaction for databases which contain user metadata keys.

quartz backend:

  • Update the base files atomically to avoid problems with reading processes finding partially written ones.

remote backend:

  • The addition of OP_VALUE_LE and OP_VALUE_GE required an update to the Query serialization, which required a minor remote protocol version bump.
  • Fix to actually set the writing half as the connection as non-blocking when a timeout is specified. This would have prevented timeouts from operating correctly in some situations.

build system:

  • configure: GCC warning flag overhaul: Stop passing “-Wno-multichar” since any multi-character character literal is bound to be a typo (I believe we were only passing it after misinterpreting its sense!) Pass “-Wformat-security”, and “-Wconversion” for all GCC versions. Add “-Winit-self” and “-Wstrict-overflow=5” for GCC >= 4.2. The latter might prove too aggressive, but seems reasonable so far. Fix some minor niggles revealed by “-Wconversion” and “-Wstrict-overflow=5”.
  • Add XAPIAN_NORETURN() annotations to functions and non-virtual methods which don’t return.

documentation:

  • docs/intro_ir.html: Briefly mention how pure boolean retrieval is supported.
  • docs/valueranges.html: Fix example of using multiple VRPs to come out as a “program listing”.
  • include/xapian/queryparser.h: Fix incorrect example in doccomment.
  • docs/quickstart.html: Remove information covered by INSTALL since there’s no good reason to repeat it and two copies just risks one getting out of date (as has happened here!)
  • docs/quickstart.html: Fix very out of date reference to MSet::items (bug#237).
  • PLATFORMS: Remove reports for 0.8.x as they’re too old to be interesting. Separate out 0.9.x reports. Add Solaris 9 and 10 success reports from James Aylett. Update from Debian buildd logs.

portability:

  • Now builds on OS/2, thanks to a patch by Yuri Dario.
  • Fix test suite to build on mingw (broken by changes in 1.0.5).

debugging code:

  • Fix –enable-assertions build, broken by changes in 1.0.5.

Omega 1.0.6:

documentation:

  • docs/omegascript.html: Improve formatting.

indexers:

  • omindex: Add support for DjVu files.
  • omindex: If we get an error trying to read a directory entry, report it to the user rather than ignoring it.

omega:

  • OmegaScript commands $addfilter, $lower, $upper.

portability:

  • Check “defined HAVE_SYSMP” rather than just “HAVE_SYSMP”. This doesn’t change behaviour, but fixes a compile warning on platforms other than Linux and IRIX.

Xapian Bindings 1.0.6:

General:

  • Wrap OP_VALUE_GE and OP_VALUE_LE and the new Query constructor which they are used with.
  • configure: Correct the required SWIG version given in an error message.

PHP:

  • php/smoketest.php: Add note that this script should be run using ‘make check’ in the build tree (rather than trying to copy it to a webserver as someone recently tried to).
  • php/smoketest.php: Fix to work under PHP4.

Python:

  • The Python module now always has the extension which Python expects, which fixes a failure on Mac OS X.

Ruby:

  • Automatically install/uninstall the Ruby rdoc-generated documentation along with the ruby ​​bindings.

Tcl:

  • configure: Sort out the default value of TCL_LIB, which could end up being under /usr/share in xapian-bindings 1.0.4 and 1.0.5.

Version number 1.0.6
Release status Final
Operating systems Windows 9x, Windows NT, Windows 2000, Linux, BSD, Windows XP, macOS, OS/2, Solaris, UNIX, Windows Server 2003, Windows Vista
Website The Xapian Project
Download
License type GPL
You might also like