Xapian

Xapian er en åpen kildekode programvarebibliotek og er lansert under GNU fri dokumentasjonslisens. Biblioteket er i hovedsak skrevet i programmeringsspråket C++, men med bindinger som gjør det mulig å bruke programvaren med Perl, Python, PHP, Java, Tcl, C#, Ruby, Lua, Erlang og Node.Js. Programvaren Xapian er svært tilpasningsdyktig, noe som gjør det enkelt for utviklere å legge til avanserte indekseringer og søkemuligheter til sine egne applikasjoner. Den støtter blant annet Sannsynlighets-informasjonuthengingsmodellen (Probabilistic Information Retrieval modell) og en del boolske spørringsoperasjoner.Xapian er ingen søkeapplikasjon, men et verktøy som kan brukes av programmere til å lage søkeapplikasjoner. Hvis man ønsker å ta i bruk en søkemotorapplikasjon som kan tilføre nettsidene søkefunksjonalitet, kan man ta i bruk Omega, som er en søkeapplikasjon basert på Xapian biblioteket.


== Egenskaper ==
I xapian får viktige ord bedre rangering enn uviktige ord. Det vil si at de viktigste dokumentene, altså de mest relevante i henhold til søkefrasen rangeres høyere oppe i listen av søkeresultater enn andre dokumenter.
Xapian har også støtte for å søke etter ord som forekommer i en eksakt frase eller innenfor et bestemt antall ord. Etter hvilken som helst rekkefølge.
Xapian kan ut ifra en eller flere dokumenter, foreslå de mest relevant index-ordene for å utvide et søk. Den kan også foreslå lignende dokumenter og kategorisere dokumenter.
Xapian har full støtte for boolske operatorer i søk. Dvs. at man kan spesifere i søket at man feks. ikke ønsker at ordet: Bil skal forekomme i søkeresultatene ved hjelp av boolske operatorer. Eksempel: ("Kjøretøy NOT Bil").
Xapian har innebygget funksjonalitet som reduserer ord til dens morfologiske rot(Stemming), dvs. at alle varianter av et ord blir redusert til en felles form. Det kan tenkes at en som søker på "Biler", ikke bare ønsker å få resultater på "Biler", men også ønsker å få fram søkeresultater med dokumenter som inneholder ordet "Bil" eller "Bilen". Ved hjelp av en såkalt "Stemming-algoritme" kan man finne fram til relevante dokumenter som ellers ikke ville kommet med i søkeresultatene. Xapian har støtte for "Stemming" i flere språk: Dansk, Nederlandsk, Engelsk, Finsk, Fransk, Tysk, Ungarsk, Italiensk, Norsk, Portugisisk, Romansk, Russisk, Spansk, Svensk, og Tyrkisk. Xapian tar i bruk en serie av algoritmer kalt "Snowball Stemming Algorithms" for dette.
Xapian har støtte for søk med jokertegn. Som det betyr at hvilken som helst ord kan forekomme der hvor symbolet er angitt i søkestrengen i søket(Eks. "Kjøret*").
Xapian har støtte for synonymer, slik at den finner dokumenter med ord av samme betydning.
Xapian kan tilby rettelser av ordene i søkestrengen hvis disse ikke er korrekt oppgitt i søket. Disse rettelsene kommer fra ord den har lagret i indeksen.
Xapian har støtte for databasefiler større enn 2 GB, slik at den kan skalere etter store samlinger av dokumenter.
Xapian kan brukes på flere plattformer:Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Solaris, HP-UX, Tru64, IRIX, Windows og OS/2.
Xapian bruker plattformuavhengige dataformater slik at det er mulig å bygge en database på en maskin og søke gjennom den via en annen maskin.
Xapian kan indeksere samtidig som den brukes.


== Bruk ==
Xapian har blitt tatt i bruk hos flere aktører på internett, hvor blant annet den norske nyhetssiden: ABC Startsiden og den tyske nettavisen: Die Zeit bruker Xapian som sin søkemotor. En komplett liste over aktører som bruker Xapian finnes hos Xapian sine hjemmesider: http://xapian.org/users.


== Referanser ==


== Eksterne lenker ==
(en) Offisielt nettsted