Xapian
Xapian | |||
---|---|---|---|
Utvikler(e) | Olly Betts | ||
Nyeste versjon | 1.4.25 (8. mars 2024)[1] | ||
Kodelager | https://git.xapian.org/?p=xapian | ||
Operativsystem | multiplattform | ||
Skrevet i | C++[2] | ||
Type | Søkealgoritme | ||
Lisens | GPLv2, GNU General Public License | ||
Nettsted | xapian.org (en) |
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.[3]
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.[3]
Egenskaper[4]
- 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.[5] 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[6].
- 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.[3]
- 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[7]. En komplett liste over aktører som bruker Xapian finnes hos Xapian sine hjemmesider: http://xapian.org/users.
Referanser
- ^ https://lists.xapian.org/pipermail/xapian-discuss/2024-March/010021.html.
- ^ «The xapian Open Source Project on Open Hub: Languages Page». Open Hub. Besøkt 19. juli 2018.
- ^ a b c http://www.xapian.org
- ^ http://xapian.org/features
- ^ Lovins, J. (1968). Development of a stemming algorithm (Vol. 11, pp. 22–31). Hentet fra http://mt-archive.info/MT-1968-Lovins.pdf Arkivert 4. mars 2016 hos Wayback Machine.
- ^ http://xapian.org/docs/stemming.html
- ^ http://xapian.org/users
Eksterne lenker
- (en) Offisielt nettsted