Software-update: Xapian / Omega 1.0.6

Xapian is een in C++ geschreven 'open source information retrieval library' en kan gebruikt worden als engine achter een zoekmachine. Het geheel omvat een eigen databaseformaat, api's om deze databases te bewerken en te doorzoeken, tools om de databases te controleren en koppelingsmogelijkheden voor andere talen zoals Java, Ruby, PHP en Python.

Een applicatie die bovenop Xapian kan worden gebruikt is Omega, een zoekmachine om Xapian-databases te doorzoeken. Met Omega worden ook enkele tools meegeleverd die gebruikt kunnen worden om databases te vullen met data. Omdat de ontwikkeling van Omega nauw verbonden is met die van Xapian zelf, worden door de ontwikkelaars van beide programma's gelijktijdig nieuwe versies uitgebracht met hetzelfde versienummer.

Het ontwikkelteam van The Xapian Project heeft versie 1.0.6 van Xapian en Omega uitgebracht. De lijsten met veranderingen voor de verschillende onderdelen zien er als volgt uit:

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 optimised - stemtest now runs ~2.5% faster.
testsuite:
  • tests/runtest: Fixed to handle test programs with a ".exe" extension.
  • tests/queryparsertest: Add a couple more testcases 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 serialisation, 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 testsuite to build on mingw (broken by changes in 1.0.5).
debug 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.
Versienummer 1.0.6
Releasestatus Final
Besturingssystemen 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 http://www.xapian.org/download.php
Licentietype GPL

Door Japke Rosink

Meukposter

19-03-2008 • 16:06

1 Linkedin

Bron: The Xapian Project

Reacties (1)

Wijzig sortering
Ik heb er ooit eens naar gekeken maar ik vond het maar moeilijk om te implementeren, het is geen uurtje werk ofzo :)

Op dit item kan niet meer gereageerd worden.

Kies score Let op: Beoordeel reacties objectief. De kwaliteit van de argumentatie is leidend voor de beoordeling van een reactie, niet of een mening overeenkomt met die van jou.

Een uitgebreider overzicht van de werking van het moderatiesysteem vind je in de Moderatie FAQ

Rapporteer misbruik van moderaties in Frontpagemoderatie.




Google Pixel 7 Sony WH-1000XM5 Apple iPhone 14 Samsung Galaxy Watch5, 44mm Sonic Frontiers Samsung Galaxy Z Fold4 Insta360 X3 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee