Xapian and Omega

Software skärmdump:
Xapian and Omega
Mjukvaruinformation:
Version: 1.2.12 / 1.3.0
Ladda upp dagen: 20 Feb 15
Utvecklare: Xapian Team
Licens: Gratis
Popularitet: 3

Rating: nan/5 (Total Votes: 0)

Xapian är en Open Source Probabilistisk Informationssökning bibliotek, släppt under GPL. Xapian iss skriven i C, med bindningar för att tillåta användning av andra språk (Perl, Java, Python, PHP, och TCL stöds för närvarande, Guile och C # är det arbetas på).
Xapian är avsedd att vara en mycket anpassningsbar verktygslåda för att tillåta utvecklare att enkelt lägga avancerade indexerings och sökmöjligheter till sina egna applikationer.
Om du är ute efter en paketerad sökmotor för din webbplats, bör du ta en titt på Omega, som är ett program som vi levererar bygger på Xapian. Men till skillnad från de flesta andra hemsida söklösningar, låter Xapian mångsidighet du förlänga Omega att möta dina behov som de växer

Funktioner :.

    < li> Free Software / Open Source -. licensierad under GPL
  • Mycket portabel - körs på många Linux, MacOS X, många andra Unix-plattformar, och Microsoft Windows
  • .
  • Skrivet i C. Perl-bindningar finns i modulen Sök :: Xapian på CPAN. Java JNI bindningar ingår i xapian bindningar modul. Vi stödjer också SLURK som kan generera bindningar för 13 språk. För närvarande de för Python, PHP4 och TCL fungerar. Guile och C # är det arbetas på.
  • Rankad sannoliks sökning - viktiga ord får mer vikt än oviktiga ord, så de mest relevanta dokumenten är mer benägna att komma högt upp i resultatlistan
  • .
  • Relevans återkoppling - ges ett eller flera dokument, Xapian kan föreslå de mest relevanta indextermer för att expandera en fråga, föreslå relaterade dokument, kategorisera dokument, etc
  • .
  • Fras och närhet sökning -. Användarna kan söka efter ord som förekommer i en exakt fras eller inom ett visst antal ord, antingen i en viss ordning, eller i vilken ordning
  • Ett komplett utbud av strukturerade booleska sökoperatorer (& quot; lager INTE marknadsföra & quot ;, etc). Resultatet av boolesk sökning rankas av sannoliks vikter. Booleska filter kan också tillämpas för att begränsa en probabilistisk sökning.
  • Stöder härrör sökbegrepp (t.ex. en sökning efter & quot; fotboll & quot; skulle matcha dokument som nämner & quot; fotbollar & quot; eller & quot; fotbollsspelare & quot;). Detta hjälper till att hitta relevanta dokument som annars kan missas. Stemmers närvarande ingår för danska, engelska, finska, franska, tyska, italienska, norska, portugisiska, ryska, spanska och svenska.
  • Stöder databasfiler & gt; 2GB -. Nödvändig för skalning till stora dokumentsamlingar
  • Plattforms oberoende dataformat -. du kan bygga en databas på en maskin och sök den på en annan
  • Tillåter samtidig uppdatering och sökning. Nya dokument blir sökbara direkt.

  • Förutom biblioteket levererar vi ett antal små exempel på program, och en större ansökan - en indexering och CGI-baserad applikation som heter omega:
  • Indexeraren levereras kan indexera HTML, PHP, PDF, Postscript, och vanlig text. Lägga till stöd för indexering andra format är lätt när konverteringsfilter finns (t.ex. Microsoft Word). Denna indexeraren fungerar använder register, men vi ger också ett skript för att göra det möjligt för htdig sökrobot som hakas in, vilket gör att avlägsna platser som ska sökas med hjälp Omega.
  • Du kan också registerdata från någon SQL eller annan RDBMS stöds av Perl DBI-modulen. Det inkluderar MySQL, PostgreSQL, SQLite, Sybase, MS SQL, LDAP, och ODBC.
  • CGI ökning front medföljer mycket anpassnings utseende. Detta kan också anpassas till utgångsresultat i XML eller CSV, vilket är användbart om du dynamiskt generera sidor (t.ex. med PHP eller mod_perl) och bara vill rå sökresultat som du kan behandla i din egen sidlayout kod.

Vad är nytt i den här versionen:

  • Denna version fixar några mindre buggar och lägger till några nya funktioner .

Vad är nytt i version 1.2.4:

  • Denna version lägger ett API för att slå samman och kompakte databaser gör många förbättringar Omega, innehåller nya klunk baserade Perl bindningar, och fixar några minnesläckor i Python-bindningar.

Vad är nytt i version 1.0.22:

  • Denna version åtgärdar flera mindre buggar och förbättrar bärbarhet .

Vad är nytt i version 1.0.21:

  • Xapian-core API:
  • Xapian :: Stem nu erkänner & quot; nb & quot; och & quot; nn & quot; som tilläggskoder för den norska stemmer.
  • Xapian :: QueryParser nu tolkar korrekt en wildcarded term i mellan två andra termer (biljett # 484).
  • Matcher:
  • OP_OR kunde hoppa en matchande dokument om det skämda att OP_AND eller OP_AND_MAYBE under matchen i vissa fall. Fixar biljett # 476.
  • OP_XOR med icke-blad delfrågor kunde hoppa matchande dokument i vissa fall, och OP_XOR av tre eller flera sub-frågor kunde återvända felaktiga vikter. Fixar biljett # 475.
  • OP_OR är nu mer effektivt om en delfråga är potentiellt dyrt (t.ex. OP_VALUE_RANGE, OP_NEAR, OP_PHRASE, PostingSource). En 10-faldig uppsnabbning med OP_VALUE_RANGE har observerats.
  • Bygga System:
  • Installera filer för att göra Xapian enklare att använda med cmake.
  • Bärbarhet:
  • På x86-processorer, Xapian nu standard använder SSE2 FP instruktioner. Detta undviker problem med överskott precision och det lite fortare också. Om du behöver för att stödja processorer utan SSE2 (detta innebär pre-Pentium4 för Intel) sedan konfigurera med --disable-sse. (Biljett # 387)

Vad är nytt i version 1.0.18:

  • QueryParser:
  • Förbättra stöd för språk som burmesiska som använder Unicode omslutande märke och kombinera avstånd markera tecken.
  • Flint backend:
  • När du uppdaterar dokument, inte uppdaterar utstationering poster som inte har ändrats (biljett # 250).
  • Fix låsning kod för att fungera om stdin och / eller stdout har stängts.

Vad är nytt i version 1.0.13:

  • API:
  • Xapian :: Dokument inte längre någonsin lagrar tomma värden explicit. Detta var inte uppsåtlig handling, och hur det här fallet hanterades inte dokumenterats. Den ändrade beteende är förenligt med hur användar metadata hanteras. Denna förändring är inte observerbar använder Dokument :: get_value (), men kan vara märkt när iterera med Document :: values_begin (), med hjälp av dokument :: values_count (), eller försöker radera värdet med dokument :: remove_value ().
  • testsuite:
  • Fix testcase scaleweight4 inte att misslyckas på x86 när de sammanställs med -O0. Problemet var i testcase koden, och orsakades av överskjutande precision i mellan FP-värden.
  • testfall som kontrollerar att verksamheten har den förväntade O (...) beteende ingen kontroll CPU-tid istället för Väggklocka tid på de flesta plattformar, vilket bör eliminera enstaka misslyckanden på grund ladda spikar från andra processer.
  • (biljett # 308)
  • Fix prov misslyckanden på grund av SKIP_TEST_FOR_BACKEND (& quot; inMemory & quot;) inte hoppa när det ska bero på att jämföra char strängar med == (på bål returvärdet som testas är std :: string stället const char *)
  • Förbättra testtäckning i flera hörnfall.
  • Fix testcase consistency2 att faktiskt köras (lyckligtvis den passerar).
  • I de genererade testfall, ring get_description () på standard konstruerat objekt i varje klass för att se till att fungerar (och inte försöka dereference NULL, eller misslyckas något påstående, etc). Alla närvarande kontrolleras klasser är bra - det är att undvika framtida regressioner eller sådana problem med nya klasser
  • .
  • I testtäckning bygga, använda & quot; - täckning & quot; istället för & quot; -fprofile-bågar -ftest-täckning & quot;.
  • Test selen har nu inMemory backend flaggas som stödjande användardefinierade metadata (bortsett från iteration över metadatanycklar).
  • Matcher:
  • Om en fråga innehåller ett MatchAll delfråga, kontrollera det innan du kontrollerar de andra termer så att slingan som kontrollerar hur många termer match kan avsluta tidigt om de alla match.
  • När en OR eller ANY_MAYBE avklingat till en OCH, vi var noga byta barnen för maximal effektivitet, men tillståndet vände så vi var faktiskt göra saker värre. Detta märktes eftersom det resulterar i samma fråga som kör snabbare när fler resultat ombads för!
  • Endast bygga termname att termfreq och vikt kartan för första deldatabas istället för att återuppbygga det för var och en. Också inte kopiera denna karta för att lämna tillbaka den. Detta bör påskynda sökningar lite, särskilt de över flera databaser.
  • Om en submatcher misslyckas men Errorhandler berättar att fortsätta utan den, vi bara använda en NULL-pekare att stå i stället för tilldelning av en särskild dummy plats-hållare objekt.
  • Ta AndPostList, till förmån för MultiAndPostList. AndPostList användes endast som en sönderfallsprodukt (från AndMaybePostList och OrPostList), och verkar inte vara något snabbare. Borttagning det minskar CPU-cache tryck, och är mindre kod att underhålla.
  • Samtalskontroll () istället för skip_to () på frivillig grenen av AND_MAYBE.
  • flinta backend:
  • Fix en bugg i TermIterator :: skip_to () över metadatanycklar.
  • fjärr backend:
  • Fix xapian-tcpsrv --interface möjlighet att arbeta på MacOS X (biljett # 373).
  • Fix stavfel som orsakat oss att returnera DocID stället för den maximala vikten ett dokument från en fjärr match kunde återvända! Detta kan ha lett till fel resultat när du söker flera databaser med fjärr backend, men förmodligen oftast inte fråga som med BM25 vikterna är i allmänhet små (ofta allt & # x3c; 1) medan docids oundvikligen & # x3e; = 1 .
  • inMemory backend:
  • inMemory backend stöder inte iteration över metadatanycklar. Försöker göra så vana att ge en tom iteration, men har nu åtgärdats kasta
  • UnimplementedError (och denna begränsning har nu dokumenterats).
  • bygga systemet:
  • Ta bort en massa oanvända header inneslutningar och några oanvända kod som ska göra bygget snabbare och något mindre.
  • Fix att kompilera under --disable-backend-flinta, --disable-backend-fjärrkontroll, och --disable-backend-inMemory.
  • Ta inte bort några byggda källor i & quot; göra ren & quot; även under --make-utvecklare-mode som bryter byta ett träd ifrån underhållare-mode med: gör distclean; ./ configure
  • configure: Aktivera fler GCC varningar - & quot; -Woverloaded-virtuell & quot; för alla versioner, & quot; -Wstrict-null-sentinel & quot; för 4.0+, & quot; -Wlogical-op -Wmissing deklarationer & quot; för 4.3+. Särskilt & quot; -Wmissing-deklarationer & quot; fångade consistency2 inte körs.
  • Internt fixa de få platser där vi passerar std :: string av värde att passera genom const hänvisning istället (utom när vi behöver en modifierbar kopia ändå) som benchmarking visar att const referens är något snabbare och genererar mindre kod med GCC: s referens räknade genomförande std :: string - med en implementering icke-referens räknas, bör const hänvisning vara mycket snabbare. (Biljett # 140)
  • dokumentation:
  • INSTALLERA:. Vi testar inte längre regelbundet bygga med GCC 2.95.4 och vi höja minimi GCC-versionen krävs för 3,1 för Xapian 1.1.x
  • Dokument vad passerar maxitems = 0 till Fråga :: get_mset () gör.
  • docs / queryparser.html: Lägg exempel på att använda ett prefix på en fras eller deluttryck
  • .
  • Korrekta doxygen kommentarer för användaren metadatafunktioner:. Databas :: get_metadata () kastar UnimplementedError men WritableDatabase :: set_metadata () burk
  • Dokument som Databas :: metadata_keys_begin () returnerar ett slut iterator om backend inte stöder metadata.
  • HACKING:. Uppdatera listan med Debian / Ubuntu paketen som behövs för en utvecklingsmiljö
  • felsöka kod:
  • Fix bygga med --enable-debug.
  • Inkom några fler påståenden.

Vad är nytt i version 1.0.11:

  • Denna utgåva rättar flera buggar och lägger till stöd för Omega för indexering MS Office 2007-format och XPS-filer.

Vad är nytt i version 1.0.10:

  • Denna utgåva rättar ett möjligt fall av databas korruption, om disken fyller upp medan du skriver ut förändringar.
  • låsfil för en flintdatabas skapas nu med hjälp av inställningen umask.
  • Tidigare var det inte möjligt att öppna en flint databas uppdateras om den ägdes av en annan användare, även med tillräcklig behörighet via & quot; & quot; eller & quot; andra & quot;.
  • Skriva en OP_NEAR fråga med två icke variga underfrågor nu kastar UnimplementedError istället för AssertionError.

Vad är nytt i version 1.0.9:

  • Stavning korrigering är nu ännu snabbare. (En 15% snabbare mättes.)
  • Två buggar som orsakas av överskjutande precision på x86 Linux har fastställts.
  • Query :: MatchAll ger nu lika vikter till alla handlingar.
  • En krasch medan komprimering stavnings tabellen har fastställts.
  • copydatabase exemplet nu kopierar användar metadata för.
  • omega CGI binära fångar nu och rapporter std :: undantag.

Kommentarer till Xapian and Omega

Kommentarer hittades inte
Kommentar
Slå på bilder!