Xapian and Omega

Software screenshot:
Xapian and Omega
Software detaljer:
Version: 1.2.12 / 1.3.0
Upload dato: 20 Feb 15
Udvikler: Xapian Team
Licens: Gratis
Popularitet: 3

Rating: nan/5 (Total Votes: 0)

Xapian er et Open Source Probabilistic Information Retrieval bibliotek, udgivet under GPL. Xapian iss skrevet i C, med bindinger for at tillade brug af andre sprog (Perl, Java, Python, PHP, og TCL understøttes i øjeblikket, Guile og C # er under udarbejdelse).
Xapian er designet til at være en yderst fleksibel værktøjskasse til at tillade udviklere for nemt at tilføje avanceret indeksering og søgefunktioner til deres egne applikationer.
Hvis du søger efter en pakket søgemaskine til din hjemmeside, bør du tage et kig på Omega, der er et program, vi leverer bygget på Xapian. Men i modsætning til de fleste andre website søgeløsninger, giver Xapian alsidighed du udvide Omega til at opfylde dine behov som de vokser

Egenskaber :.

    < li> Free Software / Open Source -. licenseret under GPL
  • Meget bærbar - kører på mange Linux, MacOS X, mange andre Unix-platforme, og Microsoft Windows
  • .
  • Skrevet i C. Perl bindinger fås i modulet Søg :: Xapian på CPAN. Java JNI bindinger er inkluderet i xapian-bindinger modul. Vi støtter også slurk som kan generere bindinger i 13 sprog. På nuværende dem, for Python, PHP4, og TCL arbejder. List og C # er under udarbejdelse.
  • Klassificeret probablistic søgning - vigtige ord får mere vægt end ligegyldige ord, så de mest relevante dokumenter er mere tilbøjelige til at komme nær toppen af ​​resultatlisten
  • .
  • Relevans Feedback - givet et eller flere dokumenter, kan Xapian foreslå de mest relevante Sitemap Betingelser for at udvide en forespørgsel, foreslår relaterede dokumenter, kategorisere dokumenter mv
  • .
  • Sætning og nærhed søgning -. Brugere kan søge efter ord, der forekommer i en eksakt sætning eller inden for et bestemt antal ord, enten i en bestemt rækkefølge, eller i vilkårlig rækkefølge
  • En komplet vifte af strukturerede booleske søgeoperatorer (& quot; lager IKKE Market & quot ;, osv). Resultaterne af den booleske søgning er sorteret efter de probabilistiske vægte. Booleske filtre kan også anvendes til at begrænse en probabilistisk søgning.
  • Understøtter følge af søgetermer (f.eks en søgning efter & quot; fodbold & quot; vil matche dokumenter, der nævner & quot; fodbolde & quot; eller & quot; fodboldspiller & quot;). Dette hjælper med at finde relevante dokumenter, som ellers ville blive overset. Analyse af verber i øjeblikket medtaget for dansk, engelsk, finsk, fransk, tysk, italiensk, norsk, portugisisk, russisk, spansk og svensk.
  • Understøtter databasefiler & gt; 2GB -. Afgørende for skalering til store dokumentsamlinger
  • Platform uafhængige dataformater -. du kan opbygge en database på én maskine og søge det på en anden
  • Muliggør samtidig opdatering og søgning. Nye dokumenter bliver søgbare samme.

  • Samt biblioteket, leverer vi en række små eksempel programmer, og en større anvendelse - en indeksering og CGI-baseret program kaldet omega:
  • indekseringen medfølgende kan indeksere HTML, PHP, PDF, PostScript, og almindelig tekst. Tilføjelse støtte til indeksering andre formater er nemt, når konvertering filtre er tilgængelige (f.eks Microsoft Word). Denne indekseringen virker ved hjælp af registreringssystem, men vi giver også et script til at gøre det muligt for htdig webcrawler at blive hooked på, så fjerntliggende steder, der skal søges hjælp Omega.
  • Du kan også indeksere data fra enhver SQL eller andre RDBMS støttes af Perl DBI modulet. Det omfatter MySQL, PostgreSQL, SQLite, Sybase, MS SQL, LDAP, og ODBC.
  • CGI søgning front-end leveres med meget tilpasselig fremtoning. Det kan også tilpasses til output resultater i XML eller CSV, hvilket er nyttigt, hvis du dynamisk genererer sider (fx med PHP eller mod_perl) og vil blot rå søgeresultater, som du kan på dit eget sidelayout kode.

Hvad er nyt i denne udgivelse:

  • Denne version løser nogle mindre bugs og tilføjer et par nye funktioner .

Hvad er nyt i version 1.2.4:

  • Denne version tilføjer en API for sammenlægning og komprimering databaser , gør mange forbedringer Omega, omfatter nye slurk-baserede Perl bindinger, og løser nogle memory leaks i Pythonbindinger.

Hvad er nyt i version 1.0.22:

  • Denne version løser flere mindre bugs, og forbedrer bærbarhed .

Hvad er nyt i version 1.0.21:

  • Xapian-core API:
  • Xapian :: Stem nu anerkender & quot; nb & quot; og & quot; nn & quot; som ekstra koder til den norske stemmer.
  • Xapian :: QueryParser nu analyserer korrekt et erstattes af et erstatningstegn udtryk i mellem to andre vilkår (billet # 484).
  • Matcher:
  • OP_OR kunne springe en matchende dokument, hvis det henfaldt til OP_AND eller OP_AND_MAYBE under kampen i nogle tilfælde. Rettelser billet # 476.
  • OP_XOR med ikke-blad underforespørgsler kunne springe matchende dokumenter i nogle tilfælde, og OP_XOR af tre eller flere undergrupper forespørgsler kunne vende tilbage forkerte vægte. Rettelser billet # 475.
  • OP_OR er nu mere effektiv, hvis en underforespørgsel potentielt dyrt (f.eks OP_VALUE_RANGE, OP_NEAR, OP_PHRASE, PostingSource). En 10-fold speed-up med OP_VALUE_RANGE er blevet observeret.
  • Byg System:
  • Installer filer til at gøre Xapian nemmere at bruge med cmake.
  • Overførsel:
  • Til x86-processorer, Xapian nu standard at bruge SSE2 FP instruktioner. Derved undgår problemer med overskydende præcision og det lidt hurtigere også. Hvis du har brug for at støtte processorer uden SSE2 (dette betyder pre-Pentium4 til Intel) derefter konfigurere med --disable-SSE. (Billet # 387)

Hvad er nyt i version 1.0.18:

  • QueryParser:
  • Forbedre støtte til sprog som burmesisk som bruger Unicode omslutter mark og kombinere afstand mark tegn.
  • Flint backend:
  • Ved opdatering dokumenter, ikke opdatere udstationering poster, der ikke har ændret sig (billet # 250).
  • Fix låse kode for at arbejde, hvis stdin og / eller stdout er blevet lukket.

Hvad er nyt i version 1.0.13:

  • API:
  • Xapian :: Dokument ikke længere nogensinde gemmer tomme værdier eksplicit. Dette var ikke forsætlig adfærd, og hvordan sagen blev håndteret var ikke dokumenteret. Den ændrede adfærd er i overensstemmelse med, hvordan bruger metadata håndteres. Denne ændring er ikke observerbar hjælp Document :: get_value (), men kan blive bemærket, når iteration med Document :: values_begin (), ved hjælp af Document :: values_count (), eller forsøger at slette værdien med Document :: remove_value ().
  • testsuite:
  • Fix testcase scaleweight4 ikke at svigte på x86 når kompileret med -O0. Problemet var i testcase kode, og var forårsaget af overskydende præcision i mellemliggende FP-værdier.
  • Testcases som kontrollerer, at operationer har den forventede O (...) adfærd ingen check CPU-tid i stedet for wallclock tid på de fleste platforme, som skal eliminere lejlighedsvise svigt på grund at indlæse pigge fra andre processer.
  • (billet # 308)
  • Fix test Fejl som følge SKIP_TEST_FOR_BACKEND (& quot; inMemory & quot;) ikke springe, når den skal på grund at sammenligne char strenge med == (på trunk returværdien bliver testet er std :: string i stedet const char *)
  • Forbedre test dækning i flere corner tilfælde.
  • Fix testcase consistency2 til rent faktisk at køre (heldigvis det passerer).
  • I de genererede testcases, ring get_description () på standard konstrueret målet for hver klasse til at sørge for, at værker (og forsøger ikke at dereference NULL, eller undlader nogle påstand, osv). Alle aktuelt kontrolleres klasser er fint - det er for at undgå fremtidige regressioner eller sådanne problemer med nye klasser
  • .
  • I testen dækning bygge, bruge & quot; - dækning & quot; i stedet for & quot; -fprofile-buer -ftest-dækning & quot;.
  • Testen seletøj har nu inMemory backend markeret som støtte brugerdefineret metadata (bortset fra iteration løbet metadatanøgler).
  • matcher:
  • Hvis en forespørgsel indeholder en MatchAll underforespørgsel, så tjek for det før kontrol af de øvrige vilkår, så krogen som kontrollerer hvor mange termer match kan forlade tidligt, hvis de hele kampen.
  • Når en OR eller ANY_MAYBE henfaldet til en AND, vi blev omhyggeligt bytte børnene for maksimal effektivitet, men betingelsen blev vendt, så vi var faktisk gør tingene værre. Dette blev bemærket, fordi det var resulterer i den samme forespørgsel kører hurtigere, når flere resultater blev spurgt om!
  • Kun bygge termname at termfreq og vægt kort for første subdatabase stedet for at genopbygge det for hver enkelt. Også ikke kopiere dette kort til at returnere det. Dette bør fremskynde søgninger lidt, især dem over flere databaser.
  • Hvis en submatcher mislykkes men ErrorHandler fortæller os at fortsætte uden det, vi bruger bare en NULL pointer til at stå i stedet for tildeling af en specifik dummy plads-indehaveren objekt.
  • Fjern AndPostList, til fordel for MultiAndPostList. AndPostList blev kun brugt som et henfald produkt (ved AndMaybePostList og OrPostList), og synes ikke at være nogen hurtigere. Fjernelse reducerer CPU cache pres, og er mindre kode at vedligeholde.
  • Kontroller Call () i stedet for skip_to () på frivillig gren af ​​AND_MAYBE.
  • flint backend:
  • Fix en fejl i TermIterator :: skip_to () i løbet af metadata nøgler.
  • remote backend:
  • Fix xapian-tcpsrv --interface mulighed for at arbejde på MacOS X (billet # 373).
  • Fix typo der fik os til at returnere DocId i stedet for den maksimale vægt et dokument fra en ekstern match kunne vende tilbage! Dette kunne have ført til forkerte resultater, når du søger flere databaser med fjernbetjeningen backend, men sandsynligvis normalt ikke noget, som med BM25 vægtene er generelt små (ofte alle & # X3C; 1), mens docids er uundgåeligt & # X3e; = 1 .
  • inMemory backend:
  • inMemory backend understøtter ikke iteration løbet metadatanøgler. Forsøger at gøre det bruges til at give en tom iteration, men er nu blevet fastsat til at smide
  • UnimplementedError (og denne begrænsning er nu dokumenteret).
  • bygge systemet:
  • Fjern en masse ubrugte header indeslutninger og nogle ubrugte kode, som skulle gøre build hurtigere og lidt mindre.
  • Fix at kompilere under --disable-backend-flint, --disable-backend-remote, og --disable-backend-inMemory.
  • Du må ikke fjerne nogen indbyggede kilder i & quot; gøre ren & quot; selv under --make-vedligeholder-mode som der bryder skifte et træ væk fra vedligeholder-mode med: gøre distclean; ./ configure
  • configure: Aktiver flere GCC advarsler - & quot; -Woverloaded-virtuel & quot; for alle versioner, & quot; -Wstrict-nul-sentinel & quot; til 4.0 +, & quot; -Wlogical-op -Wmissing-erklæringer & quot; for 4.3+. Især & quot; -Wmissing-erklæringer & quot; fanget consistency2 ikke var køres.
  • Internt fastsætte de få steder, hvor vi passerer std :: string i værdi at passere const henvisning i stedet (medmindre vi har brug for en modificerbare kopi alligevel) som benchmarking viser, at const reference er lidt hurtigere og genererer mindre kode med GCC reference tælles std :: string implementering - med en ikke-henvisning tælles gennemførelse bør const henvisning være meget hurtigere. (Billet # 140)
  • dokumentation:
  • Installer:. Vi tester ikke længere regelmæssigt bygge med GCC 2.95.4 og vi hæve minimum GCC-versionen kræves til 3.1 for Xapian 1.1.x
  • Dokument hvad passerer maxitems = 0 til Forhør :: get_mset () gør.
  • docs / queryparser.html: Tilføj eksempler for at bruge en præfiks på en sætning eller underudtryk
  • .
  • Korrekte doxygen kommentarer for brugeren metadata funktioner:. Database :: get_metadata () kaste UnimplementedError men WritableDatabase :: set_metadata (), kan
  • dokument, Database :: metadata_keys_begin () returnerer en ende iterator hvis backend ikke understøtter metadata.
  • HACKING:. Opdater listen over Debian / Ubuntu-pakker, der er nødvendige for et udviklingsmiljø
  • debug-kode:
  • Fix bygge med --enable-debug.
  • Tilføjet nogle flere påstande.

Hvad er nyt i version 1.0.11:

  • Denne udgivelse løser flere bugs og tilføjer understøttelse til Omega til indeksering MS Office 2007 formater og XPS-filer.

Hvad er nyt i version 1.0.10:

  • Denne udgivelse løser et muligt tilfælde af databasen korruption, hvis disken fylder op, mens du skriver ud ændringer.
  • låsefil for en flint database er nu oprettet ved hjælp af umask indstilling.
  • Tidligere var det ikke muligt at åbne en flint database opdatering, hvis det var ejet af en anden bruger, selv med tilstrækkelige tilladelser via & quot; & quot; eller & quot; andre & quot;.
  • Skrivning en OP_NEAR forespørgsel med to ikke-sigt underforespørgsler nu kaster UnimplementedError stedet for AssertionError.

Hvad er nyt i version 1.0.9:

  • Stavning korrektion er nu endnu hurtigere. (En 15% hastighed op blev målt.)
  • To bugs forårsaget af overskydende præcision på x86 Linux er blevet rettet.
  • Query :: MatchAll giver nu samme vægt i alle dokumenter.
  • Et nedbrud mens komprimering stavningen tabellen er blevet rettet.
  • copydatabase eksempel nu kopier bruger metadata også.
  • omega CGI binære nu fanger og rapporter std :: undtagelse.

Kommentarer til Xapian and Omega

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!