Xapian and Omega

Screenshot Software:
Xapian and Omega
Detalii soft:
Versiune: 1.2.12 / 1.3.0
Incarca data: 20 Feb 15
Producător: Xapian Team
Licenţă: Gratuit
Popularitate: 3

Rating: nan/5 (Total Votes: 0)

Xapian este o bibliotecă Open Source probabilistice regăsirea informațiilor, lansat sub GPL. Iss Xapian scris în C, cu legaturi pentru a permite utilizarea de alte limbi (Perl, Java, Python, PHP, și TCL sunt în prezent sprijinite; viclenie și C # sunt lucrate pe).
Xapian este proiectat pentru a fi un set de instrumente extrem de adaptabil pentru a permite dezvoltatorilor să adăugați cu ușurință de indexare și căutare facilități avansate pentru propriile aplicații.
Dacă sunteți după un motor de căutare ambalat pentru site-ul dvs., trebuie să luați o privire la Omega, care este o aplicație Noi furnizam construit pe Xapian. Dar, spre deosebire de cele mai multe alte soluții de căutare site-ul, versatilitatea Xapian vă permite să extindă Omega pentru a satisface nevoile dumneavoastră, deoarece acestea cresc

Caracteristici :.

    < li> Free Software / Open Source -. sub licența GPL
  • Foarte portabil - ruleaza pe mai multe Linux, MacOS X, multe alte platforme Unix, și Microsoft Windows
  • .
  • scris în C. Legaturi Perl sunt disponibile în modul de căutare :: Xapian pe CPAN. Legături Java JNI sunt incluse în modulul xapian-legături. De asemenea, susținem înghițitură, care poate genera legături pentru 13 limbi. În prezent, cele pentru Python, PHP4, iar TCL sunt de lucru. Viclenie și C # sunt lucrate pe.
  • Căutare probablistic Clasat - Cuvinte importante obține mai mult în greutate decât cuvintele neimportante, astfel încât documentele cele mai relevante au mai multe sanse de a veni în partea de sus a lista de rezultate
  • .
  • de feedback Relevanta - având în vedere unul sau mai multe documente, Xapian poate sugera termenii index cele mai relevante pentru a extinde o interogare, documente sugerează aferente, clasifica documente, etc
  • .
  • expresie și căutarea de proximitate -. Utilizatorii pot căuta cuvinte care apar într-o frază exactă sau într-un anumit număr de cuvinte, fie într-o anumită ordine, sau în orice ordine
  • Gama completa de operatori structurate de căutare boolean (& quot; Stock nu comercializeze & quot ;, etc). Rezultatele căutării boolean sunt ordonate în funcție de ponderile probablistic. Filtrele booleene pot fi de asemenea aplicate pentru a restricționa o căutare probabilistic.
  • sprijină rezultă din termenii de căutare (de exemplu, o căutare pentru & quot; de fotbal & quot; se potriveste de documente care menționează & quot; mingi de fotbal & quot; sau & quot; fotbalist & quot;). Acest lucru vă ajută să găsiți documente relevante care ar putea fi pierdute. Stemmers sunt în prezent incluse pentru daneză, olandeză, engleză, finlandeză, franceză, germană, italiană, norvegiană, portugheză, rusă, spaniolă și suedeză.
  • Acceptă fișiere de baze de date & gt; 2GB -. Esențiale pentru scalarea la colectii de documente de mari dimensiuni
  • platformă formate de date independente -. puteți construi o bază de date pe o mașină și caută-l pe un alt
  • Permite modificare și căutarea simultană. Documente noi devin căutat imediat.

  • La fel ca biblioteca, ne furnizează o serie de programe de exemplu mici, precum și o cerere mai mare - o indexare și pe bază de CGI aplicație numită omega:
  • indexatorul furnizat poate index HTML, PHP, PDF, PostScript, și text simplu. Adăugarea sprijin pentru indexarea alte formate ușor în cazul în care sunt disponibile filtre de conversie (de exemplu, Microsoft Word). Această indexare functioneaza cu ajutorul sistemului de evidență, dar oferim, de asemenea, un script pentru a permite crawler htdig web care urmează să fie prins în, care permite site-uri de la distanță trebuie căutată cu ajutorul Omega.
  • De asemenea, puteți date de index de la orice SQL sau alte RDBMS susținută de modulul Perl DBI. Aceasta include MySQL, PostgreSQL, SQLite, Sybase, MS SQL, LDAP, și ODBC.
  • căutare CGI front-end livrat cu aspect extrem de personalizabil. Acest lucru poate fi, de asemenea, personalizate pentru rezultate de ieșire din XML sau CSV, care este util dacă sunteți generatoare dinamic pagini (de exemplu, cu PHP sau mod_perl) și vreau doar rezultatele de căutare de baza pe care le pot procesa în propriul cod de aspectul paginii.

Ce este nou în această versiune:

  • Această versiune corectează unele bug-uri minore și adaugă câteva caracteristici noi .

Ce este nou în versiunea 1.2.4:

  • Această versiune adaugă un API pentru fuzionarea și compactarea bazelor de date , face multe îmbunătățiri Omega, include noi legături Perl bazate pe înghițitură, și stabilește unele pierderi de memorie în Python.

Ce este nou în versiunea 1.0.22 :

  • Această versiune rezolvă mai multe bug-uri minore, și îmbunătățește portabilitate .

Ce este nou în versiunea 1.0.21:

  • Xapian-core API:
  • Xapian :: Stem recunoaste & quot acum, nb & quot; și & quot; nn & quot; codurile suplimentare pentru Stemmer norvegian.
  • Xapian :: QueryParser acum analizează corect un termen wildcarded între alte două termene (bilet # 484).
  • Meciuri:
  • OP_OR ar putea sări un document de potrivire în cazul în care putrede la OP_AND sau OP_AND_MAYBE în timpul meciului, în unele cazuri. Corecții bilet # 476.
  • OP_XOR cu subinterogările non-frunze ar putea sări documentele potrivite în unele cazuri, și OP_XOR de trei sau mai multe sub-interogări ar putea reveni greutăți incorecte. Corecții bilet # 475.
  • OP_OR este acum mult mai eficientă dacă o subinterogare este potențial costisitoare (de exemplu OP_VALUE_RANGE, OP_NEAR, OP_PHRASE, PostingSource). Sa observat o viteză de 10 ori, cu OP_VALUE_RANGE.
  • Build System:
  • Instalare fișiere pentru a face Xapian mai ușor de utilizat, cu cmake.
  • Portabilitate:
  • pe procesoare x86, Xapian acum implicit, folosind instrucțiuni SSE2 FP. Acest lucru evită problemele cu exces de precizie și un pic mai repede prea. Dacă aveți nevoie de a sprijini procesoare fără SSE2 (aceasta înseamnă pre-Pentium 4 pentru Intel), apoi configurați cu --disable-SSE. (Bilet # 387)

Ce este nou în versiunea 1.0.18:

  • QueryParser:
  • Îmbunătățirea suport pentru limbi, cum ar fi birman care folosesc Unicode anexând marca și combinarea de caractere marca spațiere.
  • Flint backend:
  • Când actualizarea documentelor, nu actualizați posta un comentariu care nu s-au schimbat (bilet # 250).
  • Fix blocare cod pentru a lucra dacă stdin și / sau stdout au fost închise.

Ce este nou în versiunea 1.0.13:

  • API:
  • Xapian :: document nu se mai stochează niciodată valori goale explicit. Aceasta nu a fost comportament intenționat, și modul în care a fost manipulat acest caz nu a fost documentat. Comportamentul a fost modificată este în concordanță cu modul în care este manipulat de metadate utilizator. Această modificare nu este observabil, folosind documente :: get_value (), dar pot fi atentionat cand iterarea cu Document :: values_begin (), folosind documente :: values_count (), sau încercarea de a șterge valoarea cu documente :: remove_value ().
  • TestSuite:
  • Fix testcase scaleweight4 nu să eșueze pe x86 când compilat cu -O0. Problema a fost în codul testcase, și a fost cauzată de excesul de precizie în valori intermediare PC.
  • Testcases care verifică faptul că operațiunile au așteptat O (...) Comportamentul nici un moment CPU verificare în loc de timp wallclock pe majoritatea platformelor, care ar trebui să elimine eșecuri ocazionale cauza pentru a încărca piroane de la alte procese.
  • (bilet # 308)
  • eșecuri de testare Fix datorită SKIP_TEST_FOR_BACKEND (& quot; inmemory & quot;), nu sar peste, atunci când ar trebui să datorat pentru compararea siruri de caractere char cu == (pe trunchi valoarea returnată testat este std :: string, mai degrabă decât const char *)
  • Îmbunătățirea acoperire test în mai multe cazuri de colt.
  • Fix testcase consistency2 să fie efectiv rula (din fericire trece).
  • În testcases generate, apelați get_description () pe obiectul implicit construite din fiecare clasă pentru a vă asigura că funcționează (și nu încearcă să dereference NULL, sau nu unele afirmații, etc). Toate clasele verificate în prezent sunt bine - acest lucru este de a evita regresii viitoare sau astfel de probleme cu noi clase
  • .
  • În cadrul testelor de acoperire construi, utilizați & quot; - acoperirea & quot; în loc de & quot; -fprofile-arce -ftest-acoperire & quot;.
  • cablajul de test are acum backend inmemory marcate ca sprijinirea metadate specificate de utilizator (în afară de repetare peste chei de metadate).
  • Meciuri:
  • Dacă o interogare conține o subinterogare MatchAll, verificați-l înainte de a verifica ceilalți termeni, astfel încât bucla care verifica câte termeni meci poate ieși mai devreme în cazul în care toate partida.
  • Când un OR sau ANY_MAYBE decăzut la un AND, am fost schimbarea atent copiii pentru eficiență maximă, dar condiția fost schimbat pentru ca am fost, de fapt, a face lucrurile mai rău. Acest lucru a fost observat pentru că a fost rezultând în aceeași interogare care rulează mai rapid atunci când mai multe au fost rugati pentru!
  • construi termname a termfreq și harta greutate pentru prima subdatabase Numai că în loc de reconstrucție ea pentru fiecare dintre ele. De asemenea, nu copiați această hartă să se întoarcă. Aceasta ar trebui să accelereze căutări un pic, mai ales a celor pe mai multe baze de date.
  • Dacă o submatcher nu, dar ErrorHandler ne spune să continuăm fără ea, vom folosi doar un pointer NULL să stea în loc de alocarea unui manechin obiect special loc-titular.
  • Eliminare AndPostList, în favoarea MultiAndPostList. AndPostList a fost folosit doar ca un produs de degradare (prin AndMaybePostList și OrPostList), și nu pare a fi mai repede. Eliminarea se reduce CPU cache presiune, și este mai puțin cod pentru a menține.
  • check Apel () în loc de skip_to () pe ramura opțional de AND_MAYBE.
  • cremene backend:
  • Fix un bug în TermIterator :: skip_to () pe chei de metadate.
  • backend la distanță:
  • Fix opțiune --interface xapian-tcpsrv pentru a lucra la MacOS X (bilet # 373).
  • Fix greșeală de scriere care a provocat să ne întoarcem docId loc din masa maximă a unui document de la un meci la distanță ar putea reveni! Acest lucru ar putea fi condus la rezultate greșite atunci când căutați multe baze de date cu backend la distanță, dar probabil, de obicei, nu a contat ca cu BM25 ponderile sunt în general mici (de multe ori tot & # x3c; 1), în timp ce docids sunt inevitabil & # x3e; = 1 .
  • inmemory backend:
  • backend inmemory nu are suport pentru iterarea peste chei de metadate. Încercarea de a face acest lucru utilizate pentru a da o repetare gol, dar a fost acum stabilit pentru a arunca
  • UnimplementedError (și această limitare a fost acum documentat).
  • construi sistemul:
  • Eliminați o mulțime de incluziuni antet neutilizate și un cod nefolosit care ar trebui să facă construi mai rapid și puțin mai mică.
  • Fix pentru a compila sub --disable-backend-cremene, --disable-backend-la distanță, și --disable-backend-inmemory.
  • Nu îndepărtați surse de construit în & quot; face curat & quot; chiar și în --make-de menținere-mode ca care sparge trecerea unui copac departe de modul de întreținere cu: face distclean; ./ configura
  • Configurare: Activare mai multe avertismente ale CCG - & quot; -Woverloaded-virtuale & quot; pentru toate versiunile, & quot; -Wstrict-nul-Sentinel & quot; pentru 4.0+, & quot; -Wlogical-op -Wmissing declarații & quot; pentru 4.3+. În special & quot; -Wmissing declarații & quot; prins că consistency2 nu a dat centrare.
  • Pe plan intern, repara putinele locuri unde am trecut std :: string de valoare pentru a trece de referință const în loc (cu excepția cazului în care avem nevoie de copie modificabil, oricum), ca benchmarking arată că trimitere const este ușor mai rapid și generează mai puțin cod cu referire CCG numarate punere în aplicare std :: string - cu o punere în aplicare fără referință numărat, de referință const ar trebui să fie mult mai rapid. (Bilet # 140)
  • documentare:
  • Instalare:. Am testat mai regulat construi cu GCC 2.95.4 și noi te creșterea versiunea minim CCG necesar pentru 3.1 pentru 1.1.x Xapian
  • Document ce trecători maxitems = 0 la Interesați :: get_mset () nu.
  • docs / queryparser.html: Adaugă exemple de a folosi un prefix pe o frază sau subexpression
  • .
  • comentariile Doxygen corecte pentru funcțiile de metadate utilizator:. Baza de date :: get_metadata () arunca UnimplementedError dar WritableDatabase :: set_metadata () can
  • Document care colecțiilor de date :: metadata_keys_begin () returneaza un iterator capăt în cazul în care backend nu are suport pentru metadate.
  • Hacking:. Actualizați lista de pachete Debian / Ubuntu necesare pentru un mediu de dezvoltare
  • cod de depanare:
  • Fix construi cu --enable-debug.
  • Adaugata unele mai multe afirmații.

Ce este nou în versiunea 1.0.11:

  • Această versiune rezolvă mai multe bug-uri și adaugă suport pentru Omega pentru indexarea MS Office 2007 și formate de fișiere XPS.

Ce este nou în versiunea 1.0.10:

  • Această versiune rezolvă o posibilă caz ​​de corupție de baze de date în cazul în care discul se umple în timp ce scriu schimbări.
  • lockfile de o bază de date silex este acum creat folosind setarea umask.
  • Anterior, nu a fost posibilă deschiderea unei baze de date cremene pentru modificare în cazul în care a fost deținută de un alt utilizator, chiar cu permisiuni suficiente prin & quot; grup & quot; sau & quot; alte & quot;.
  • Compunerea o interogare OP_NEAR cu două sub-interogări de bază non-termen aruncă acum UnimplementedError în loc de AssertionError.

Ce este nou în versiunea 1.0.9:

  • corecție ortografică este acum chiar mai rapid. (A 15% viteză de până fost măsurat.)
  • Doua bug-uri cauzate de excesul de precizie pe x86 Linux au fost rezolvate.
  • Solicitare :: MatchAll ofera acum ponderi egale tuturor documentelor.
  • Un accident în timp ce compactarea tabelul de ortografie a fost stabilit.
  • Exemplul copydatabase acum copii utilizator metadate prea.
  • omega binar CGI prinde acum și rapoarte std :: excepție.

Comentarii la Xapian and Omega

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!