Xapian and Omega

Screenshot Software:
Xapian and Omega
Mga detalye ng Software:
Bersyon: 1.2.12 / 1.3.0
I-upload ang petsa: 20 Feb 15
Nag-develop: Xapian Team
Lisensya: Libre
Katanyagan: 3

Rating: nan/5 (Total Votes: 0)

Xapian ay isang Open Source Probabilistic Impormasyon Pagkuha library, inilabas sa ilalim ng GPL. Xapian iss nakasulat sa C, na binding upang payagan ang paggamit mula sa iba pang mga wika (Perl, Java, Python, PHP, at TCL ang kasalukuyang sinusuportahan; katusuhan at C # ay nagtrabaho sa).
Xapian ay idinisenyo upang maging isang mataas na madaling ibagay toolkit upang payagan ang mga developer upang madaling magdagdag ng mga advanced na pag-index at paghahanap ng mga kagamitan sa kanilang sariling mga application.
Kung ikaw ay matapos ang isang naka-package na search engine para sa iyong website, dapat mong tingnan ang Omega, na kung saan ay isang application namin Supply para sa built sa Xapian. Ngunit hindi tulad ng karamihan ng iba pang mga solusyon sa paghahanap sa website, pinapayagan ng kagalingan sa maraming bagay Xapian ng mong pahabain Omega upang matugunan ang iyong mga pangangailangan habang ang mga ito palaguin

Mga Tampok :.

    < li> Free Software / Open Source -. lisensyado sa ilalim ng GPL
  • Lubos na portable - ay tumatakbo sa maraming mga Linux, MacOS X, maraming iba pang mga platform Unix, at Microsoft Windows
  • .
  • Ang nakasulat sa C. Perl binding ay available sa mga module na Paghahanap :: Xapian sa CPAN. Java JNI binding ay kasama sa module xapian-binding. Sinusuportahan din namin ang SWIG na maaaring makabuo ng binding para sa 13 wika. Sa kasalukuyan ang mga para sa Python, PHP4, at TCL ay nagtatrabaho. Lalang at C # ay nagtrabaho sa.
  • niraranggo probablistic paghahanap - mahahalagang mga salita makakuha ng higit pang timbang kaysa sa mga hindi mahalagang salita, kaya ang pinaka-nauugnay na mga dokumento ay mas malamang na dumating malapit sa tuktok ng listahan ng mga resulta .
  • feedback Kaugnayan - ibinigay na isa o higit pang mga dokumento, maaaring magmungkahi Xapian ang pinaka-nauugnay na mga term sa index upang palawakin ang isang tanong, iminumungkahi kaugnay na mga dokumento, maikategorya ang mga dokumento, atbp
  • .
  • Parirala at proximity searching -. Gumagamit ay maaaring maghanap para sa mga salita occuring sa isang eksaktong parirala o sa loob ng isang tinukoy na bilang ng salita, alinman sa isang tinukoy na pagkakasunod-sunod, o sa anumang pagkakasunud-sunod
  • Buong hanay ng mga nakaayos ang boolean operator sa paghahanap (& quot; HINDI stock market & quot ;, atbp). Ang mga resulta ng paghahanap boolean ang ranggo ng probablistic weights. Pwede ring Boolean filter na inilapat upang paghigpitan ang isang probabilistic paghahanap.
  • Sinusuportahan stemming ng mga term sa paghahanap (hal isang paghahanap para sa & quot; football & quot; tutugma dokumento na banggitin & quot; footballs & quot; o & quot; putbolista & quot;). Nakakatulong ito upang makahanap ng may-katuturang mga dokumento na maaaring kung hindi man ay hindi nasagot na. Stemmers ay kasalukuyang kasama para sa Danish, Olandes, Ingles, Finnish, Pranses, Aleman, Italyano, Norwegian, Portuges, Russian, Espanyol at Suweko.
  • Sinusuportahan ang mga file ng database & gt; 2GB -. Mahalaga para sa pagsusukat sa mga malalaking koleksyon ng dokumento
  • Platform ng independiyenteng mga format ng data -. Maaari kang bumuo ng isang database sa isa machine at maghanap ito sa isa pang
  • Pinapayagan ang sabay-sabay na pag-update at na paghahanap. Bagong mga dokumento maging nahahanap agad.

  • Pati na rin ang mga library, matustusan namin ang isang bilang ng mga maliit na halimbawa programa, at isang mas malaking application - isang pag-index at CGI-based na application na tinatawag na wakas:
  • Ang indexer ibinigay maaari index ng HTML, PHP, PDF, PostScript, at plain text. Ang pagdagdag ng suporta para sa pag-index ng iba pang mga format ay madali kung saan ang mga filter ng conversion ay makukuha (eg Microsoft Word). Gumagana indexer na ito gamit ang pag-file system, ngunit nagbibigay din kami ng isang script upang payagan ang mga crawler htdig web na baluktot sa, na nagpapahintulot sa mga remote na mga site na hahanapin gamit ang Omega.
  • Maaari mo ring index ng data mula sa anumang SQL o iba pang RDBMS suportado ng module Perl DBI mo. Kabilang doon ang MySQL, PostgreSQL, SQLite, Sybase, MS SQL, LDAP, at ODBC.
  • CGI paghahanap front-end na tinustusan na may ganap na nako-customize na hitsura. Ito ay maaari ring ma-customize ang mga resulta ng output sa XML o CSV, na kung saan ay kapaki-pakinabang kung pabago-bago ka sa pagbuo ng mga pahina (hal gamit ang PHP o mod_perl) at gusto lang raw mga resulta ng paghahanap na maaari mong iproseso sa iyong sariling layout ng pahina ng code.

Ano ang bagong sa paglabas:

  • Ang bersyon na ito Inaayos ng ilang mga menor de edad bug at nagdaragdag ng ilang mga bagong tampok .

Ano ang bagong sa bersyon 1.2.4:

  • nagdaragdag ng bersyon na ito ng isang API para sa pagsasama at pinagsama ang database ng , gumagawa ng maraming mga pagpapabuti sa Omega, Kasama bagong SWIG-based Perl binding, at Inaayos ng ilang mga paglabas ng memorya sa Python binding.

Ano ang bagong sa bersyon 1.0.22:

  • Ang bersyon na ito Inaayos ng ilang mga menor de edad bug, at nagpapabuti maaaring dalhin .

Ano ang bagong sa bersyon 1.0.21:

  • Xapian-core ng API:
  • Xapian :: stem kinikilala ngayon & quot; nb & quot; at & quot; nn & quot; bilang karagdagang code para sa Norwegian stemmer.
  • Xapian :: QueryParser ngayon tama Pina-parse ng isang wildcarded termino sa pagitan ng dalawang iba pang mga tuntunin (ticket # 484).
  • Matcher:
  • OP_OR maaaring laktawan ng pagtutugma ng dokumento kung bulok ito sa OP_AND o OP_AND_MAYBE sa panahon ng tugma sa ilang mga kaso. Pag-aayos ng ticket # 476.
  • OP_XOR sa mga di-dahon subqueries maaaring laktawan na tumutugma sa mga dokumento sa ilang mga kaso, at OP_XOR ng tatlo o higit pang mga sub-query ay maaaring bumalik maling weights. Pag-aayos ng ticket # 475.
  • OP_OR na ngayon ang mas mahusay na kung ang isang subquery ay potensyal na mahal (eg OP_VALUE_RANGE, OP_NEAR, OP_PHRASE, PostingSource). 10-fold bilis-up sa OP_VALUE_RANGE ay na-obserbahan.
  • Bumuo ng system:
  • I-install ang mga file upang gumawa ng Xapian mas madaling gamitin na may cmake.
  • maaaring dalhin:
  • Sa x86 processors, Xapian ngayon ang mga default upang gamit SSE2 FP tagubilin. Avoids ito isyu sa labis na katumpakan at medyo mas mabilis na masyadong. Kung kailangan mo upang suportahan ang processor nang walang SSE2 (ibig sabihin nito pre-Pentium4 para sa Intel) pagkatapos ay i-configure ang may --disable-TTS. (Ticket # 387)

Ano ang bagong sa bersyon 1.0.18:

  • QueryParser:
  • Pagbutihin ang suporta para sa mga wika tulad ng Burmese na gagamitin ng Unicode nasasakupang mark at pagsasama-sama ng pagpupuwang marka character.
  • Flint backend:
  • Kapag ina-update ang mga dokumento, huwag i-update ang pag-post ng mga entry na hindi nabago (ticket # 250).
  • Ayusin ang pag-lock code upang gumana kung stdin at / o stdout Na-sarado.

Ano ang bagong sa bersyon 1.0.13:

  • API:
  • Hindi na kailanman nag-iimbak Xapian :: Dokumento laman ang halaga tahasang. Ito ay hindi sinadyang pag-uugali, at kung paano kasong ito ay tunggaliang ito ay hindi dokumentado. Ang sinususugan pag-uugali ay pare-pareho sa kung paano metadata gumagamit ng paghawak. Ang pagbabagong ito ay hindi kapansin-pansin ang paggamit ng Dokumento :: get_value (), ngunit maaaring napansin kapag iterating sa Dokumento :: values_begin (), ang paggamit ng Dokumento :: values_count (), o sinusubukang tanggalin ang halaga na may Dokumento :: remove_value ().
  • testsuite:
  • Ayusin ang testcase scaleweight4 hindi na mabigo sa x86 kapag pinagsama-sama sa -O0. Ang problema ay nasa testcase code, at ay sanhi ng labis na katumpakan sa intermediate halaga FP.
  • Testcases na suriin na mga pagpapatakbo ng inaasahang O (...) pag-uugali ng mga check oras CPU sa halip ng wallclock oras sa karamihan ng mga platform, na dapat alisin ang mga paminsan-minsang mga pagkabigo dahil sa load ang mga spike mula sa iba pang mga proseso.
  • (ticket # 308)
  • Ayusin ang pagsubok pagkabigo dahil sa SKIP_TEST_FOR_BACKEND (& quot; inmemory & quot;) ay hindi laktaw kailan ito dahil sa paghahambing ng pansamantalang trabaho mga string na may == (sa puno ng kahoy ang halaga return sinusubok ang std :: string sa halip na const pansamantalang trabaho *)
  • Pagbutihin ang test coverage sa ilang mga kaso sulok.
  • Ayusin ang testcase consistency2 upang aktwal na mapatakbo (sa kabutihang-palad ay ipinapasa ito).
  • Sa binuo testcases, tawagan get_description () sa default na itinayo object ng bawat klase upang matiyak na gumagana (at hindi subukang dereference null, o mabigo ng ilang badya, atbp). Ang lahat ng mga kasalukuyang naka-check class fine - ito ay upang maiwasan ang mga hinaharap regressions o tulad ng mga problema sa bagong klase
  • .
  • Sa coverage build pagsubok, gamitin ang & quot; - coverage & quot; sa halip na & quot; -fprofile-arc -ftest-coverage & quot;.
  • Ang pagsubok isingkaw ngayon ay mayroon nang inmemory backend-flag bilang pagsuporta metadata na tinukoy ng user (bukod sa pag-ulit sa ibabaw ng mga pindutan metadata).
  • matcher:
  • Kung naglalaman ng isang query ng isang MatchAll subquery, tumingin ng mga ito bago pagsuri sa iba pang mga term upang ang loop na sumusuri kung gaano karaming mga tuntunin ay maaaring lumabas tugma maaga kung ang mga ito ang lahat ng mga tugma.
  • Kapag ang isang O o ANY_MAYBE mabulok sa isang AT, kami ay maingat na pagpapalit ng mga bata para sa maximum na kahusayan, ngunit ang mga kondisyon ay reverse kaya kami ay sa katunayan gawing mas malala bagay. Ay napansin na ito dahil ito ay nagreresulta sa parehong query sa pagtakbo nang mas mabilis kapag higit pang mga resulta ay tinanong para!
  • bumuo Tanging ang termname sa termfreq at bigat mapa para sa unang subdatabase sa halip ng muling pagtatayo ito para sa bawat isa. Gayundin huwag kopyahin ang mapang ito upang ibalik ito. Ito ay dapat pabilisin ang paghahanap ng kaunti, lalo na ang mga sa paglipas ng maramihang mga database.
  • Kung nabigo ang isang submatcher ngunit Sinasabi sa amin ng ErrorHandler upang magpatuloy nang hindi ito, ginagamit namin lamang ng isang null pointer upang tumayo sa halip na naglalaan ng isang espesyal na lugar dummy-hawak ng bagay.
  • Alisin AndPostList, sa pabor ng MultiAndPostList. AndPostList ay gagamitin lamang bilang isang produkto pagkabulok (sa pamamagitan ng AndMaybePostList at OrPostList), at hindi lilitaw upang maging anumang mas mabilis. Pag-aalis ng binabawasan nito ang presyon ng CPU cache, at Mababa code upang mapanatili.
  • check Tawag () sa halip ng skip_to () sa opsyonal na sangay ng AND_MAYBE.
  • bato backend:
  • Ayusin ang isang bug sa TermIterator :: skip_to () sa ibabaw ng mga pindutan ng metadata.
  • remote na backend:
  • Ayusin ang opsyon --interface xapian-tcpsrv upang gumana sa MacOS X (ticket # 373).
  • Ayusin ang typo na sanhi sa amin upang ibalik ang docid sa halip na ang maximum na timbang ng isang dokumento mula sa isang remote na tugma ay maaaring bumalik! Ito ay maaaring humantong sa maling mga resulta kapag naghahanap ng maramihang mga database sa remote na backend, ngunit malamang ay karaniwang hindi mahalaga tulad ng sa BM25 ang timbang ay karaniwang maliit na (madalas sa lahat ng & # x3c; 1) habang docids ay hindi maaaring hindi & # x3e; = 1 .
  • inmemory backend:
  • Ang inmemory backend ay hindi sumusuporta sa iterating sa paglipas ng key metadata. Sinusubukang gawin ito ginagamit upang magbigay ng isang walang laman na pag-ulit, ngunit Naayos na ngayon upang itapon
  • UnimplementedError (at ang limitasyong ito ngayon ang dokumentado ay).
  • bumuo ng system:
  • Mag-alis ng maraming mga hindi nagamit na inclusions header at ang ilan ay hindi nagamit ng code na dapat gawing mas mabilis at bahagyang mas maliit ang build.
  • Ayusin ang upang ipunin sa ilalim ng --disable-backend-bato, --disable-backend-remote, at --disable-backend-inmemory.
  • Huwag alisin ang anumang mga built pinagmumulan sa & quot; linisin & quot; kahit na sa ilalim ng --make-maintainer-mode bilang na Pinaghihiwa ang paglipat ng isang puno layo mula sa maintainer-mode na may: gumawa distclean; ./ Isaayos
  • I-configure ang: Paganahin ang higit pang mga babala GCC - & quot; -Woverloaded-virtual & quot; para sa lahat ng mga bersyon, & quot; -Wstrict-null-bantay & quot; para 4.0+, & quot; -Wlogical-op -Wmissing-pagdeklara ng & quot; para 4.3+. Kapansin-pansin & quot; -Wmissing-pagdeklara ng & quot; nahuli na consistency2 ay hindi pagiging run.
  • panloob, ayusin ang ilang mga lugar kung saan pumasa namin ang std :: string ng halaga upang pumasa sa pamamagitan ng const reference sa halip ng (maliban kung saan kailangan namin ng isang nababagong kopya pa rin) ng benchmarking ay nagpapakita na ang const reference ay bahagyang mas mabilis at bumubuo ng mas code sa reference GCC ni Binibilang ang std :: string pagpapatupad - gamit ang isang hindi-reference binibilang pagpapatupad, const reference ay dapat na mas mabilis. (Ticket # 140)
  • babasahin:
  • I-INSTALL:. Hindi na Regular naming subukan ang bumuo sa GCC 2.95.4 at kami ay pagtataas ng minimum na bersyon GCC na kinakailangan upang 3.1 para sa Xapian 1.1.x
  • ano paglipas ng Dokumento maxitems = 0 hanggang Enquire :: get_mset () nito.
  • doc / queryparser.html: Magdagdag ng mga halimbawa ng paggamit ng isang prefix sa isang parirala o subexpression
  • .
  • Tamang komento doxygen para sa mga pag-andar metadata gumagamit:. Database :: get_metadata () itapon UnimplementedError ngunit WritableDatabase :: set_metadata () lata
  • Dokumento na Database :: metadata_keys_begin () ay nagbabalik ng isang end iterator kung ang backend ay hindi sumusuporta sa metadata.
  • Pag-hack:. I-update ang listahan ng mga package sa Debian / Ubuntu kinakailangan para sa isang pag-unlad na kapaligiran
  • -debug code:
  • Ayusin bumuo may --enable--debug.
  • Idinagdag pa ng ilang mga assertions.

Ano ang bagong sa bersyon 1.0.11:

  • Ang release na ito Inaayos ng ilang mga bug at nagdadagdag ng suporta sa Omega para sa pag-index ng MS Office mga format ng 2007 at XPS file.

Ano ang bagong sa bersyon 1.0.10:

  • Inaayos ng paglabas na ito ang isang posibleng kaso ng katiwalian ng database kung disk ay pumupuno up habang sumusulat ang mga pagbabago.
  • Ang lockfile para sa isang database bato ay nilikha ngayon gamit ang setting na umask.
  • Sa nakaraan, ay hindi ito posible upang buksan ang isang database bato para sa update kung ito ay pag-aari ng isa pang user, kahit na may sapat na mga pahintulot sa pamamagitan ng & quot; group na & quot; o & quot; iba pang mga & quot;.
  • pagbuo ng isang OP_NEAR query na may dalawang non-matagalang subqueries throws ngayon UnimplementedError sa halip na AssertionError.

Ano ang bagong sa bersyon 1.0.9:

  • pagwawasto sa spelling ay ngayon kahit na mas mabilis. (A 15% bilis up ay sinusukat.)
  • Ang dalawang mga bug na sanhi ng labis na katumpakan sa x86 Linux ay nai-naayos na.
  • Query :: MatchAll ngayon ay nagbibigay sa pantay na timbang sa lahat ng mga dokumento.
  • Ang isang pag-crash habang pinagsama ang talahanayan pagbaybay ay naayos na.
  • Ang copydatabase halimbawa ngayon metadata gumagamit ng mga kopya din.
  • Ang wakas CGI binary catches ngayon at mga ulat ng std :: kataliwasan.

Mga komento sa Xapian and Omega

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!