Xapian and Omega

Software kuvakaappaus:
Xapian and Omega
Ohjelmiston tiedot:
Versio: 1.2.12 / 1.3.0
Lähetyksen päivämäärä: 20 Feb 15
Kehittäjä: Xapian Team
Lupa: Vapaa
Suosio: 3

Rating: nan/5 (Total Votes: 0)

Xapian on Open Source Todennäköisyyspohjaiset Tiedonhaun kirjasto, julkaistiin GPL. Xapian ISS kirjoitettu C, siteiden kanssa, jotta voitaisiin käyttää muiden kielten (Perl, Java, Python, PHP, ja TCL ovat tuettuja, Guile ja C # työstetään).
Xapian on suunniteltu erittäin joustava työkalupakin avulla kehittäjät voivat helposti lisätä kehittyneen indeksointi ja hakutoiminnot omiin sovelluksiin.
Jos olet jälkeen pakattu hakukone sivuston, sinun pitäisi vilkaista Omega, joka on sovellus Toimitamme rakennettu Xapian. Mutta toisin kuin useimmat muut -sivustohakuratkaisut, Xapian monipuolisuus mahdollistaa laajentaa Omega tarpeisiisi kasvaessaan.

Ominaisuudet :

    < li> Free Software / Open Source - lisensoitu GPL.
  • Helposti kannettava - toimii monissa Linux, MacOS X, monia muita Unix ja Microsoft Windows.
  • Kirjoitettu C. Perl siteet ovat saatavilla moduulissa Haku :: Xapian CPAN. Java JNI siteet sisältyvät xapian-siteet moduuli. Tuemme myös huikka joka voi tuottaa sidokset 13 kielellä. Tällä hetkellä nämä Python, PHP4, ja TCL työskentelevät. Vilppiä ja C # työstetään.
  • Sijalla probablistic haku - tärkeitä sanoja saada enemmän painoa kuin merkityksetön sanoja, joten tärkeimmät asiakirjat ovat todennäköisesti tulla yläosassa tulosluettelossa.
  • Relevanssi palaute - annetaan yksi tai useampi asiakirja, Xapian voi ehdottaa tärkeimpiä luettelointitermit laajentaa kyselyn, ehdottaa liittyvät asiakirjat, luokitella asiakirjoja, jne.
  • Lause ja läheisyys hakuja - käyttäjät voivat etsiä sanoja esiintymistä tarkka ilmaus tai tietyn määrän sanoja, joko tietyssä järjestyksessä, tai missä tahansa järjestyksessä.
  • Kattava valikoima rakentuu boolean hakuoperaattoreista (& quot; varastossa EI Market & quot ;, jne). Tulokset boolean haku paremmuusjärjestykseen probablistic painoja. Boolean suodattimet voidaan soveltaa myös rajoittaa probabilistinen haun.
  • Tukee aiheutuvia hakusanojen (esim etsi & quot; jalkapallo & quot; sopisi asiakirjoja, joissa mainitaan & quot; jalkapallot & quot; tai & quot; jalkapalloilija & quot;). Tämä auttaa löytämään asiaan liittyvät asiakirjat, jotka muuten jäisivät huomaamatta. Vartalonhaut parhaillaan mukana Tanska, Hollanti, Englanti, suomi, ranska, saksa, italia, Norja, Portugali, Venäjä, Espanja, ja ruotsiksi.
  • Tukee tietokantatiedostoja & gt; 2GB - olennaista skaalauksen suuriin dokumenttikokoelmat.
  • Platform riippumattomia tiedostomuotoja - voit rakentaa tietokanta yksi kone ja etsi sen toiseen.
  • mahdollistaa samanaikaisen päivityksen ja etsimistä. Uudet asiakirjat muuttuvat haettavissa heti.

  • Sekä kirjasto, toimitamme pieniä esimerkiksi ohjelmien ja suurempi sovellus - indeksointi ja CGI-pohjainen sovellus nimeltä omega:
  • indeksointitoiminnon toimitukseen voi indeksoida HTML, PHP, PDF-, PostScript-, ja pelkkää tekstiä. Tuen lisääminen indeksoimiseksi muissa muodoissa on helppoa jos muuntamista suodattimet ovat saatavilla (esim Microsoft Word). Tämä Indeksointitoiminto toimii käyttäen arkistointijärjestelmä, mutta tarjoamme myös käsikirjoitus jotta htdig hakurobotti koukussa vuonna, jolloin kauko sivustoja etsitään käyttäen Omega.
  • Voit myös indeksin tietoja kaikista SQL tai muista RDBMS tukee Perl DBI moduuli. Se sisältää MySQL, PostgreSQL, SQLite, Sybase, MS SQL, LDAP, ja ODBC.
  • CGI haku etupään mukana muokattavissa ulkonäkö. Tämä voidaan myös räätälöidä tuotoksen tuloksia XML tai CSV, joka on hyödyllinen, jos dynaamisesti tuottaa sivuja (esim PHP tai mod_perl) ja haluavat vain raaka hakutuloksia jonka voit käsitellä oman sivun asettelun koodi.

Mitä uutta tässä julkaisussa:

  • Tämä versio korjaa pieniä bugeja ja lisää muutamia uusia ominaisuuksia .

Mitä uutta versiossa 1.2.4:

  • Tämä versio lisää API sulautuvan ja tiivistämiseen tietokantoja tekee monia parannuksia Omega, sisältää uusia huikka perustuva Perl siteet, ja korjaa joitakin muistivuotoja Python sidokset.

Mitä uutta versiossa 1.0.22:

  • Tämä versio korjaa useita pieniä vikoja, ja helppo kantaa .

Mitä uutta versiossa 1.0.21:

  • Xapian-core API:
  • Xapian :: Stem nyt tunnustaa & quot; nb & quot; ja & quot; nn & quot; ylimääräisinä koodit Norja Stemmer.
  • Xapian :: QueryParser nyt oikein jäsentää wildcarded termi kahden muut ehdot (lippu # 484).
  • Matcher:
  • OP_OR voisi ohittaa dokumentti, jos se rapistunut OP_AND tai OP_AND_MAYBE ottelun aikana joissakin tapauksissa. Korjaa lippu # 476.
  • OP_XOR ei-lehtiä alikyselyjä voisi ohittaa vastaavat asiakirjat joissakin tapauksissa, ja OP_XOR kolmen tai useamman osa-kyselyt voisi palata virheellisiä painoja. Korjaa lippu # 475.
  • OP_OR on nyt tehokkaampi, jos alikysely on potentiaalisesti kallis (esim OP_VALUE_RANGE, OP_NEAR, OP_PHRASE, PostingSource). 10-kertainen nopeus-up OP_VALUE_RANGE on havaittu.
  • Build System:
  • Asenna tiedostot tehdä Xapian helpompi käyttää cmake.
  • siirrettävyys:
  • x86, Xapian nyt käyttää oletuksena SSE2 FP ohjeita. Tällä vältetään ongelmia liikaa tarkkuutta ja se hieman nopeammin liikaa. Jos tarvitset tukea prosessorit ilman SSE2 (tämä tarkoittaa ennalta Pentium4 Intel) sitten määrittää kanssa --disable-SSE. (Lippu # 387)

Mitä uutta versiossa 1.0.18:

  • QueryParser:
  • Paranna tukea kielten kuten Burman jotka käyttävät Unicode sulkee merkki ja yhdistämällä välit merkin merkkiä.
  • Flint backend:
  • Kun päivittää asiakirjoja, älä päivitä lähettämistä merkintöjä, jotka eivät ole muuttuneet (lippu # 250).
  • Korjaa lukitus koodi työtä jos stdin ja / tai stdout on suljettu.

Mitä uutta versiossa 1.0.13:

  • API:
  • Xapian :: Asiakirja ei enää koskaan varastoi tyhjä arvoja nimenomaisesti. Tämä ei ollut tahallinen, ja miten tämä asia hoidettiin ei ollut dokumentoitu. Muutettu käyttäytyminen on sopusoinnussa sen kanssa, miten käyttäjä metatietoja käsitellään. Tämä muutos ei ole havaittavissa käyttää Document :: get_value (), mutta voidaan huomioida iteroimalla kanssa Document :: values_begin (), käyttäen Document :: values_count (), tai yrittää poistaa arvoa Document :: remove_value ().
  • testsuite:
  • Korjaa testcase scaleweight4 ei epäonnistua x86 kun käännetty -O0. Ongelmana oli testcase koodin, ja aiheutti ylimääräistä tarkkuutta väli FP arvoja.
  • testcases joka tarkistaa, että toiminta on odotettavissa O (...) käyttäytyminen ei tarkista CPU aikaa sijasta wallclock aikaa useimmilla alustoilla, joka pitäisi poistaa satunnaiset epäonnistumiset johtuvat ladata piikkarit muista prosesseista.
  • (lippu # 308)
  • Korjaa koe epäonnistumisia takia SKIP_TEST_FOR_BACKEND (& quot; inmemory & quot;) ei ohita kun sen pitäisi johtua vertaamalla char kieliä == (vartalolle paluuarvo testattavan std :: string sijaan const char *).
  • Paranna testin kattavuus useissa nurkassa tapauksissa.
  • Korjaa testcase consistency2 todella ajaa (onneksi se kulkee).
  • syntyy testcases, soita get_description () oletuksena rakennettu kohde kunkin luokan varmistaa, että toimii (ja ei yritä dereference NULL, tai epäonnistua jonkin väitteen, jne). Kaikki valituille luokat ovat hienoja - näin vältetään tulevaisuudessa taantumat tai tällaisia ​​ongelmia uusien luokkien.
  • Testauksen kattavuus rakentaa, käytä & quot; - kattavuus & quot; sijaan & quot; -fprofile-kaaria -ftest-kattavuus & quot;.
  • testikehysvaatimukset nyt inmemory backend merkitty tukee käyttäjän määrittelemän metatiedot (lukuunottamatta iterointia yli metatietoavaimet).
  • haussa:
  • Jos kysely sisältää MatchAll alikysely, tarkista se ennen tarkkailun muut ehdot niin, että silmukka, joka tarkistaa, kuinka monta ehdot ottelu voi poistua aikaisin, jos he kaikki ottelussa.
  • Kun OR tai ANY_MAYBE rapistunut AND, olimme huolellisesti vaihtava lapsia mahdollisimman tehokkaasti, mutta ehto oli päinvastainen, joten olimme todella vaikeuttaa asioita. Tämä huomattiin, koska se oli johtanut saman kyselyn käynnissä nopeammin kun lisää tuloksia kysyttiin!
  • Vain rakentaa termname on termfreq ja paino kartan ensimmäistä subdatabase sijaan uudelleenrakentaminen se kullekin. Myös älä kopioi tätä karttaa palauttaa se. Tämän pitäisi nopeuttaa hakuja vähän, etenkin yli useita tietokantoja.
  • Jos submatcher epäonnistuu mutta ErrorHandler kertoo jatkaa ilman sitä emme vain käyttää nollaosoittimen seistä sijaan jaettaessa erityinen nuken paikka-haltija esine.
  • Poista AndPostList, hyväksi MultiAndPostList. AndPostList vasta käytettiin hajoamistuote (by AndMaybePostList ja OrPostList), ja ei näytä olevan yhtään nopeammin. Sen poistaminen vähentää Välimuisti painetta, ja on vähemmän koodia ylläpitää.
  • Soita tarkistaa () sijasta skip_to () lisävarusteena haara AND_MAYBE.
  • piikivi backend:
  • Korjaa vian TermIterator :: skip_to () yli metatietoavaimet.
  • kauko backend:
  • Korjaa xapian-tcpsrv --interface mahdollisuus työskennellä MacOS X (lippu # 373).
  • Korjaa kirjoitusvirhe, joka sai meidät palaamaan docid sijasta enimmäispaino asiakirjan kauko ottelu voisi palata! Tämä olisi voinut johtaa väärään etsittäessä useita tietokantoja kauko backend, mutta luultavasti eivät yleensä ole väliä kuin BM25 painot ovat yleensä pieniä (usein kaikki & # X3C; 1), kun taas docids ovat väistämättä & # x3e; = 1 .
  • inmemory backend:
  • inmemory ajuri ei tue iteroimalla yli metatietoavaimet. Yritetään tehdä niin käytetään antamaan tyhjä iteraatio, mutta on nyt korjattu heittää
  • UnimplementedError (ja tämä rajoitus on nyt dokumentoitu).
  • rakentaa järjestelmä:
  • Poista paljon käyttämätöntä otsikon sulkeumat ja jonkin verran käyttämätöntä koodia, joka pitäisi rakentaa nopeammin ja hieman pienempi.
  • Korjaa koota alle --disable-backend-Flint, --disable-backend-kauko, ja --disable-backend-inmemory.
  • Älä poista rakennettu lähteistä & quot; make clean & quot; jopa --make-ylläpitäjä-tilassa, joka rikkoo vaihtamalla puu pois ylläpitäjä-tilassa: tee distclean; ./ configure
  • configure: Ota enemmän GCC varoituksia - & quot; -Woverloaded-virtuaalinen & quot; kaikki versiot, & quot; -Wstrict-null-sentinellieläimiä & quot; varten 4.0+, & quot; -Wlogical-op -Wmissing-ilmoitukset & quot; varten 4.3+. Erityisesti & quot; -Wmissing-ilmoitukset & quot; kiinni että consistency2 ei ajossa.
  • Sisäisesti korjata harvoista paikoista, joissa ohitamme std :: string arvon ohitse const viittaus sijaan (paitsi jos tarvitsemme muutettavissa olevan kopion anyway) esikuva osoittaa const viittaus on hieman nopeampi ja tuottaa vähemmän koodia GCC: n viite laskettiin std :: string täytäntöönpano - ei-viittaus lasketaan täytäntöönpanoa, const viittaus olisi paljon nopeampaa. (Lippu # 140)
  • asiakirjat:
  • Asenna: Emme enää säännöllisesti testata rakentaa GCC 2.95.4 ja me nostaa vähintään GCC versio tarvitaan 3.1 Xapian 1.1.x.
  • Document mitä ohimennen maxitems = 0 Kysy :: get_mset () tekee.
  • docs / queryparser.html: Lisää esimerkkejä käyttäen etuliite lause tai lauseketta.
  • Oikea Doxygen kommentteja käyttäjän metatietojen toiminnot: Database :: get_metadata () heittää UnimplementedError mutta WritableDatabase :: set_metadata () voi.
  • Document että Database :: metadata_keys_begin () palauttaa loppuun iteraattorin jos ajuri ei tue metatietoja.
  • HAKKEROINNILTA: Päivitä luettelo Debian / Ubuntu tarvittavien pakettien kehitysympäristö.
  • debug-koodi:
  • Korjaa rakentaa --enable-debug.
  • Lisätty lisää väitteitä.

Mitä uutta versiossa 1.0.11:

  • Tämä julkaisu korjaa useita bugeja ja lisää tuen Omega indeksoimiseksi MS Office 2007 formaatteja ja XPS-tiedostoja.

Mitä uutta versiossa 1.0.10:

  • Tämä julkaisu korjaa mahdollinen tapauksessa tietokanta korruptio, jos levy täyttyy, kun kirjoittamisen muutoksia.
  • lukkotiedoston varten lasimaisen tietokanta on nyt luotu umask asetusta.
  • Aikaisemmin ei ollut mahdollista avata lasimaisen tietokannan päivitys, jos se omisti toisen käyttäjän, vaikka riittäviä oikeuksia kautta & quot; & quot; tai & quot; muut & quot;.
  • säveltäminen OP_NEAR kyselyn kaksi ei aikavälin alikyselyjä nyt heittää UnimplementedError sijaan AssertionError.

Mitä uutta versiossa 1.0.9:

  • Oikeinkirjoitus korjaus on nyt nopeampi. (15% nopeuttaa mitattiin.)
  • kaksi vikoja aiheuttama ylimääräinen tarkkuus x86 Linux on vahvistettu.
  • Kysely :: MatchAll nyt antaa yhtäläiset painot kaikkiin asiakirjoihin.
  • Crash taas tiivistämällä oikeinkirjoitus taulukossa on vahvistettu.
  • copydatabase esimerkki nyt kopioita käyttäjän metatietojen liikaa.
  • omega CGI binary nyt saaliit ja raportit std :: poikkeus.

Kommentit Xapian and Omega

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!