Xapian and Omega

Screenshot Software:
Xapian and Omega
Szczegóły programowe:
Wersja: 1.2.12 / 1.3.0
Filmu: 20 Feb 15
Wywoływacz: Xapian Team
Licencja: Wolny
Popularność: 3

Rating: nan/5 (Total Votes: 0)

Xapian jest biblioteką Open Source Probabilistyczna wyszukiwania informacji, rozpowszechniany na licencji GPL. Xapian iss napisany w C, z powiązaniami w celu umożliwienia korzystania z innych języków (Perl, Java, Python, PHP i TCL są obecnie obsługiwane, Guile i C # są w trakcie opracowywania).
Xapian ma być bardzo elastyczne, aby umożliwić programistom zestaw narzędzi do łatwego dodawania zaawansowanych indeksowania i przeszukiwania obiektów do własnych zastosowań.
Jeśli jesteś po zapakowanego wyszukiwarkę na swojej stronie, należy zapoznać się z Omega, który jest aplikacja dostarczamy zbudowany na xapian. Ale w przeciwieństwie do większości innych rozwiązań wyszukiwania stronie internetowej, wszechstronność xapian pozwala na rozszerzenie Omega do swoich potrzeb, jak rosną

Opis .

    < li> Free Software / Open Source -. na licencji GPL
  • Przenośny - działa na wielu systemach Linux, MacOS X, wielu innych platform Unix i Microsoft Windows
  • .
  • Napisany w C. Wiązania Perl są dostępne w module Szukaj :: xapian na CPAN. Wiązania Java JNI są zawarte w module xapian-wiązaniami. Wspieramy także SWIG, które mogą generować powiązania dla 13 języków. Obecnie te, dla Pythona, PHP4 i TCL pracują. Przebiegłość i C # są w trakcie opracowywania.
  • Miejsce wyszukiwania probablistic - ważne słowa się większą wagę niż nieistotnych słów, więc najbardziej odpowiednie dokumenty są bardziej prawdopodobne, aby zbliżyć się do góry na liście wyników,
  • .
  • Trafność opinii - biorąc pod uwagę jednego lub więcej dokumentów, Xapian może zaproponować najbardziej odpowiednie terminy indeksu, aby rozwinąć zapytanie, sugerują, związane z nimi dokumenty, klasyfikowania dokumentów, itp
  • .
  • Zwroty i wyszukiwanie zbliżeniowych. - Użytkownicy mogą wyszukiwać słów występujących w dokładnej frazy lub w ciągu określonej liczby słów, albo w określonej kolejności, lub w dowolnej kolejności,
  • Pełna oferta operatorów logicznych strukturyzowanych wyszukiwania (& quot; Stock nie sprzedawać & quot ;, itd). Wyniki wyszukiwania logicznego rankingu przez probablistic ciężarów. Filtry logiczna może być również stosowany do ograniczenia probabilistyczny wyszukiwania.
  • Obsługuje wynikające z warunków wyszukiwania (np poszukiwanie & quot; futbolu & quot; pasowałby dokumenty wspominają & quot; piłek & quot; lub & quot; piłkarz & quot;). To pomaga znaleźć odpowiednie dokumenty, które mogłyby zostać pominięte. Stemmery są obecnie zawarte w języku duńskim, niderlandzkim, angielskim, fińskim, francuskim, niemieckim, włoskim, norweskim, portugalskim, rosyjskim, hiszpańskim i szwedzkim.
  • Obsługuje pliki bazy danych & gt; 2GB. - Niezbędna do skalowania do dużych zbiorach dokumentów,
  • Platforma niezależnych formaty danych. - można zbudować bazę danych na jednym komputerze i poszukać go na inny,
  • Pozwala na jednoczesną aktualizację i wyszukiwanie. Nowe dokumenty stają się przeszukiwać od razu.

  • Jak również biblioteki, dostarczamy szereg małych przykładowych programów i aplikacji - większą i CGI jest indeksowanie oparte aplikacji o nazwie omega:
  • indeksowania dostarczany może indeksować HTML, PHP, PDF, PostScript i zwykły tekst. Dodanie obsługi indeksowania innych formatów jest łatwe, gdy są dostępne filtry konwersji (na przykład Microsoft Word). Ten indeksowania działa za pomocą zbioru, ale również skrypt aby robot htdig internetowa musi być zawieszony w, pozwalając łączysz się przeszukiwać za pomocą Omega.
  • może również dane indeksowe z dowolnym SQL lub innych RDBMS obsługiwanych przez moduł Perl DBI Ty. To obejmuje MySQL, PostgreSQL, SQLite, Sybase, MS SQL, LDAP oraz ODBC.
  • Wyszukiwanie CGI czołowy dostarczany z wysoce konfigurowalny wygląd. To może być również dostosowane do wyników wyjściowych w formacie XML lub CSV, co jest przydatne w przypadku dynamicznego generowania stron (np z PHP lub mod_perla) i po prostu chcą surowe wyniki wyszukiwania, które można przetwarzać w swoim własnym kodzie układu strony.

Co nowego w tym wydaniu:

  • Ta wersja naprawia kilka drobnych błędów i dodaje kilka nowych funkcji .

Co nowego w wersji 1.2.4:

  • W tej wersji dodano API do łączenia i zagęszczania baz danych , sprawia, że ​​wielu ulepszeń Omega, zawiera nowe łyk powiązań opartych na Perl i naprawia kilka wycieków pamięci w powiązaniach Python.

Co nowego w wersji 1.0.22:

  • Ta wersja poprawia kilka drobnych błędów i poprawia przenośność .

Co nowego w wersji 1.0.21:

  • Xapian-core API:
  • Xapian :: Stem rozpoznaje obecnie & quot; nb & quot; i & quot; nn & quot; jako dodatkowe kody dla norweskiego Stemmer.
  • Xapian :: QueryParser teraz poprawnie przetwarza wieloznacznej termin w dwóch innych kategoriach (# 484) bilet.
  • Mecze:
  • OP_OR może pominąć dokument pasujący jeśli zepsute do OP_AND lub OP_AND_MAYBE podczas meczu w niektórych przypadkach. Poprawki biletu 476.
  • OP_XOR z podzapytania nie może pominąć pasujące liści dokumentów w niektórych przypadkach, a OP_XOR z trzech lub więcej pod-zapytań może zwracać niepoprawne ciężarów. Poprawki biletów nr 475.
  • OP_OR jest teraz bardziej efektywny, jeśli podzapytanie jest potencjalnie kosztowne (np OP_VALUE_RANGE, OP_NEAR, OP_PHRASE, PostingSource). Zaobserwowano 10-krotnie prędkość się z OP_VALUE_RANGE.
  • Build System:
  • Zainstaluj pliki do Xapian łatwiejsze w użyciu cmake.
  • Możliwość przenoszenia:
  • Na procesorach x86, Xapian teraz domyślnie przy użyciu instrukcji SSE2 PF. Pozwala to uniknąć problemów z nadmiarem precyzji i nieco szybciej też. Jeśli potrzebujesz, aby wspierać procesory bez SSE2 (oznacza to pre-Pentium4 dla Intela), a następnie skonfigurować z --disable-SSE. (Bilet 387)

Co nowego w wersji 1.0.18:

  • QueryParser:
  • Pomóż wsparcie dla języków takich jak Birmy, które używają Unicode załączając znak i łączenia znaków znak odstęp.
  • Flint zaplecza:
  • W przypadku aktualizacji dokumentów, nie aktualizuj delegowania wpisy, które nie uległy zmianie (# 250) biletów.
  • Fix kod blokujący do pracy, jeśli standardowe wejście i / lub stdout zostały zamknięte.

Co nowego w wersji 1.0.13:

  • API:
  • Xapian :: dokumentu nie zawsze przechowuje wartości puste wyraźnie. To nie było zamierzone zachowanie, i jak ta sprawa została traktowane było nie udokumentowane. Zmienione zachowanie jest zgodne z tym, jak metadane użytkownik jest obsługiwane. Ta zmiana nie jest zauważalne przy użyciu dokumentu :: get_value (), ale można zauważyć podczas iteracji z dokumentu :: values_begin (), za pomocą dokumentów :: values_count (), lub próbuje usunąć wartość z dokumentu :: remove_value ().
  • testsuite:
  • Fix testcase scaleweight4 się nie powiedzie na x86, gdy skompilowany z -O0. Problem był w kodzie testcase i został spowodowany przez nadmiar precyzji pośrednich wartości PR.
  • testami, które kontrolują, czy operacje mają oczekiwaną O (...) zachowanie ma kontroli czasu procesora, a nie raz wallclock na większości platform, które powinny wyeliminować sporadyczne awarie spowodowane załadować skoki z innych procesów.
  • (bilet nr 308),
  • niepowodzenia testu Fix powodu SKIP_TEST_FOR_BACKEND (& quot; WEW & quot;) nie pomijanie kiedy powinien ze względu na porównanie char struny == (na pniu wartości zwracanej testowany jest std :: string zamiast const char *)
  • Pomóż zasięg badania w kilku przypadkach narożnych.
  • consistency2 Fix testcase faktycznie być uruchomiony (na szczęście przechodzi).
  • W generowanych testami, zadzwoń get_description () w domyślnej skonstruowane przedmiotu każdej klasy, aby upewnić się, że działa (i nie próbuje do nieprawidłowego NULL, lub nie pewne twierdzenie, itp). Wszystkie zajęcia są obecnie sprawdzane w porządku - to jest, aby w przyszłości uniknąć takich problemów regresji lub z nowych klas,
  • .
  • W testowym pokrycia konstrukcji, używać & quot; - pokrycie & quot; zamiast & quot; -fprofile-łuków -ftest zasięgu, & quot;.
  • Uprząż Test ma teraz backend WEW oznaczone jako metadanymi określonej przez użytkownika (oprócz iteracji nad klawiszami metadanych).
  • matcher:
  • Jeśli zapytanie zawiera podzapytanie MatchAll, sprawdź to przed sprawdzeniem inne warunki, aby pętla, która sprawdza, ile może wyjść terminy mecz wcześnie, jeśli cały mecz.
  • Po LUB lub ANY_MAYBE zepsute do, a my dokładnie zamiana dzieci do maksymalnej wydajności, ale warunek został odwrócony, więc byliśmy w rzeczywistości podejmowania gorsze rzeczy. Ten został zauważony, ponieważ został w wyniku tego samego zapytania działa szybciej, kiedy więcej wyników poproszono o!
  • można budować tylko na termname do termfreq i wagi mapę do pierwszego subdatabase zamiast odbudowy to dla każdego z nich. Nie należy również skopiować mapę, aby ją przywrócić. Powinno to przyspieszyć poszukiwanie mało, zwłaszcza tych, na wielu bazach danych.
  • Jeśli nie, ale ErrorHandler submatcher mówi nam, aby kontynuować bez niego, po prostu użyć wskaźnika NULL stanąć zamiast przydzielania specjalnej atrapę obiektu miejsce-uchwyt.
  • Usuń AndPostList, za MultiAndPostList. AndPostList był używany tylko jako produkt rozpadu (o AndMaybePostList i OrPostList), i nie wydaje się być szybciej. Usuwanie obniża ciśnienie cache procesora, a jest mniej kodu do utrzymania.
  • kontrola połączeń () zamiast skip_to () na opcjonalnym oddziału AND_MAYBE.
  • krzemień zaplecza:
  • Fix błąd w TermIterator :: skip_to () na klucze metadanych.
  • zdalne zaplecza:
  • Fix opcję --interface xapian-tcpsrv do pracy na MacOS X (# 373) bilet.
  • Fix literówka, który spowodował nam zwrócić docId zamiast maksymalnej wadze dokument ze zdalnego meczu może powrócić! To może doprowadzić do błędnych wyników podczas przeszukiwania wielu baz danych ze zdalnego zaplecza, ale prawdopodobnie z reguły nie ma znaczenia, jak z BM25 ciężary są zazwyczaj małe (często wszystko & # x3c; 1), podczas gdy docids są nieuchronnie & # x3e; = 1 .
  • WEW zaplecza:
  • WEW wtyczka nie obsługuje powtarzanie na klucze metadanych. Próbując zrobić używany w celu pusty iteracji, ale została ustalona rzucić
  • UnimplementedError (i to ograniczenie została udokumentowana).
  • System budowy:
  • Usuń wiele niewykorzystanych wtrąceń nagłówka i trochę niewykorzystany kod, który powinien sprawić, że budować szybciej i nieco mniejsze.
  • Fix skompilować pod --disable-backend-krzemienia, --disable-backend-pilot, i --disable-backend WEW.
  • Nie usuwać wbudowane źródła w & quot; make clean & quot; nawet w --make-opiekunach-mode, jak zrywa przełączania drzewo od opiekunach z trybu: make distclean; ./ configure
  • configure: Włącz więcej ostrzeżeń GCC - & quot; -Woverloaded wirtualny & quot; dla wszystkich wersji, & quot; -Wstrict null-sentinel & quot; dla 4.0+, & quot; -Wlogical-op -Wmissing-deklaracji & quot; dla 4.3+. Zwłaszcza & quot; -Wmissing-deklaracje & quot; złowione consistency2 nie był uruchomiony.
  • Wewnętrznie naprawić kilka miejsc, gdzie przechodzą przez std :: string wartości przejść przez const odniesienia, a nie (chyba musimy modyfikować kopię tak), jak analiza porównawcza wskazuje, że const odniesienia jest nieco szybszy i generuje mniej kodu w odniesieniu GCC liczone realizacji std :: string - z realizacji liczony bez odniesienia, const odniesienia powinny być o wiele szybciej. (Bilet nr 140),
  • Dokumentacja:
  • INSTALL:. Nie ma już regularnie testować budować z GCC 2.95.4 i jesteśmy podniesienie minimalnej wersji GCC wymagane do 3,1 dla xapian 1.1.x
  • Dokument, co mijania maxitems = 0 do Zapytanie :: get_mset () robi.
  • docs / queryparser.html: Dodaj przykłady użycia prefiksu na frazy lub podwyrażenie
  • .
  • Popraw komentarze doxygen dla funkcji metadanych użytkownika:. Baza danych :: get_metadata () rzucić UnimplementedError ale WritableDatabase :: set_metadata () może
  • Dokument, że bazy danych :: metadata_keys_begin () zwraca iterator koniec, jeśli wtyczka nie obsługuje metadanych.
  • HACKING:. Aktualizacja listy pakietów Debian / Ubuntu potrzebne do rozwoju środowiska
  • debugowania kodu:
  • Fix kompilacji z opcją --enable-debug.
  • Dodano jeszcze kilka twierdzeń.

Co nowego w wersji 1.0.11:

  • Ta wersja poprawia kilka błędów i dodaje wsparcie dla Omega do indeksowania 2007 formatów MS Office i plików XPS.

Co nowego w wersji 1.0.10:

  • Ta wersja rozwiązuje ewentualne przypadki uszkodzenia bazy danych, jeżeli dysk zapełni się podczas pisania na zmiany.
  • plik blokujący dla bazy danych krzemienia jest teraz tworzone przy użyciu ustawienia umask.
  • Wcześniej nie było to możliwe, aby otworzyć bazę danych krzemienia do aktualizacji, jeśli był własnością przez innego użytkownika, nawet z odpowiednimi uprawnieniami za pomocą & quot; grupy & quot; lub & quot; innych & rdquo;.
  • Tworzenie kwerendy OP_NEAR z dwóch nie określony podzapytaniach teraz rzuca UnimplementedError zamiast AssertionError.

Co nowego w wersji 1.0.9:

  • korekta pisowni jest teraz jeszcze szybszy. (15% prędkości nawet nie była mierzona.)
  • Dwa błędy spowodowane przez nadmierną precyzją na x86 Linux zostały ustalone.
  • Zapytanie :: MatchAll teraz daje równe wagi do wszystkich dokumentów.
  • awarii podczas kompresji tabeli pisowni został naprawiony.
  • Przykładem copydatabase teraz kopie metadanych użytkownika zbyt.
  • omega CGI binarny teraz łapie i raporty std :: wyjątek.

Komentarze do Xapian and Omega

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!