Apache Solr to open source, bezpłatny, niezależny od platformy i wydajny serwer wyszukiwania oparty na projekcie Apache Lucene, wykorzystujący interfejsy API XML / HTTP i JSON. Projekt jest obecnie objęty inkubacją w Apache Software Foundation.
Funkcje na pierwszy rzut oka
Najważniejsze funkcje to wyróżnianie trafień, wyszukiwanie fasetowe, buforowanie, replikacja, internetowy interfejs administracyjny, zaawansowane funkcje wyszukiwania pełnotekstowego, jest zoptymalizowany pod kątem dużego ruchu sieciowego, a także oparte na standardach otwarte interfejsy, takie jak HTTP , XML i JSON.
Ponadto zawiera kompleksowe interfejsy administracyjne HTML, statystyki serwera, automatyczną replikację indeksów, automatyczne odzyskiwanie i przełączanie awaryjne, indeksowanie w czasie rzeczywistym, możliwość dostosowania i elastyczności z konfiguracją XML oraz rozszerzalną architekturę wtyczek.
Projekt jest bezprocesowy, umożliwiając szybkie rozpoczęcie pracy z Apache Solr. Oba tryby schematu i schemaless są w tym momencie obsługiwane, ale te ostatnie spowodują silne środowisko produkcyjne.
Solr obsługuje różne typy, w tym typy pól, które pomogą Ci mieszać i dopasowywać analizatory Lucene bez pisania jakiegokolwiek kodu. Ponadto projekt obsługuje dynamiczne pola, które można włączać "w locie".
Wśród innych ciekawych funkcji możemy wymienić funkcjonalność pola kopiowania, która pozwala użytkownikom łatwo analizować tę samą treść przy użyciu różnych metod, obsługę typów jawnych w celu wyeliminowania potrzeby zgadywania typów pól, niestandardowych konfiguracji opartych na plikach zewnętrznych, jak oraz liczne dodatkowe komponenty do analizy tekstu.
Pod maską i dostępnością
Patrząc pod maską Apache Solr, możemy zauważyć, że aplikacja została napisana w całości w języku programowania Java i obsługuje 32-bitowe i 64-bitowe dystrybucje Linuksa, a także Microsoft Windows i Mac OS X systemy operacyjne.
Dla Twojej wygody jest rozprowadzany zarówno jako archiwa binarne, jak i źródłowe, dzięki czemu możesz łatwo rozpocząć pracę z Apache Solr w jak najkrótszym czasie i bez zbytniego wysiłku.
Co to jest nowy w tym wydaniu:
- Nadzorca nigdy nie może przetworzyć niektórych ostatnich wiadomości.
- Zmień nazwę jądra w autonomicznym trybie solr nie jest zachowywany.
- Analiza parametru rQ QueryComponent nie uwzględnia już parametru defType.
- Napraw NPE w SolrQueryParser, gdy warunki zapytania wewnątrz klauzuli filtru zostaną zredukowane do zera.
Co nowego w wersji:
- Oprócz wielu innych udoskonaleń w strukturze zabezpieczeń, Solr zawiera teraz AuthenticationPlugin, który wdraża podstawowy uwierzytelniacz HTTP, który bezpiecznie przechowuje dane uwierzytelniające w ZooKeeper. Jest to prosty sposób na wymaganie nazwy użytkownika i hasła dla każdego, kto ma dostęp do ekranu administratora lub interfejsów administratora Solr.
- Wbudowany AuthorizationPlugin, który zapewnia drobiazgową kontrolę nad implementacją list ACL dla różnych zasobów z regułami zezwalającymi przechowywanymi w ZooKeeper.
- Interfejs API JSON Facet może teraz zmieniać domenę dla komend facetów, zasadniczo wykonując blokowanie i przenoszenie z rodziców na dzieci lub dzieci do rodziców przed obliczaniem danych aspektu.
- Znacząca poprawa wydajności nowego modułu Facet / interfejsu JSON Facet API.
- Kwerendy zapytań i zakresów w obszarach przestawnych. Podobnie jak interfejs API JSON Facet, przestawne aspekty mogą powodować zagnieżdżanie innych typów aspektów, takich jak obszary zasięgu i kwerendy.
- Więcej podobnych opcji tego analizatora zapytań. MoreLikeTen QParser obsługuje teraz wszystkie opcje dostarczone przez Handler MLT. Analizator składni zapytań jest znacznie bardziej wszechstronny niż moduł obsługi, ponieważ działa w trybie chmurowym, a także wszędzie tam, gdzie można określić normalne zapytanie.
- Dodano obsługę API Schema w SolrJ
- Dodano tryb punktowania dla łączenia się w czasie zapytania i łączenia bloków.
- Dodano format odpowiedzi uśmiechu
Co nowego w wersji 4.10.3:
- Solr 4.10.2 zawiera 10 poprawek, a także Lucene 4.10.2 i 2 poprawki błędów.
Co nowego w wersji 4.6.1:
- Apache Tika 1.4
- Carrot2 3.8.0
- Velocity 1.7 i Velocity Tools 2.0
- Apache UIMA 2.3.1
- Apache ZooKeeper 3.4.5
- Poprawione błędy:
- SOLR-5408: Wynik CollapsingQParserPlugin jest niepoprawny, jeśli zastosowano wiele kryteriów sortowania
- (Brandon Chapman, Joel Bernstein)
- SOLR-5416: CollapsingQParserPlugin łamie znacznik / wykluczanie obramowania
- (David Boychuck, Joel Bernstein)
- SOLR-5442: Klient Pythona nie może analizować odpowiedzi proxied, gdy jest obsługiwany przez Tomcat.
- (Patrick Hunt, Gregory Chanan, Vamsee Yarlagadda, Romain Rigaux, Mark Miller)
- SOLR-5445: Proxy odpowiedzi powinny propagować wszystkie nagłówki, a nie pierwsze dla każdego klucza.
- (Patrick Hunt, Mark Miller)
- SOLR-5479: logika ponownej logiki SolrCmdDistributor zostanie zatrzymana, jeśli lidera dla żądania nie można znaleźć w ciągu 1 sekundy.
- (Mark Miller)
- SOLR-5532: Sprawdzanie poprawności typu SolrJ jest zbyt rygorystyczne dla niektórych kontenerów sieci Web / serwerów proxy.
- (Jakob Furrer, Hossman, Shawn Heisey, Uwe Schindler, Mark Miller)
- SOLR-5547: Tworzenie aliasu kolekcji przy użyciu funkcji CollectionAdminRequest firmy SolrJ ustawia nazwę aliasu i kolekcje na alias na tę samą wartość.
- (Aaron Schram, Mark Miller)
- SOLR-5577: Prawdopodobnie wygasanie ZooKeeper nie powinno spowalniać aktualizacji o określoną kwotę, ale zamiast tego obcina aktualizacje po określonym czasie.
- (Mark Miller, Christine Poerschke, Ramkumar Aiyengar)
- SOLR-5580: NPE podczas tworzenia rdzenia z jawnym shardem i coreNodeName.
- (YouPeng Yang, Mark Miller)
- SOLR-5552: Proces przywracania liderów może wybrać niewłaściwą linię odniesienia, jeśli wszystkie repliki odłamka są wyłączone i próbują odzyskać, a także stracić aktualizacje, które powinny zostać odzyskane.
- (Timothy Potter, Mark Miller)
- SOLR-5569 Replika nie powinna próbować odzyskać od lidera, dopóki nie ogłosi, że jest AKTYWNA.
- (Mark Miller)
- SOLR-5568 SolrCore nie może zostać liderem tylko dlatego, że stan klastra mówi, że żadne inne SolrCore nie są aktywne.
- (Mark Miller)
- SOLR-5496: Powinniśmy udostępnić menedżer połączeń HTTP dla HttpClients bez wyszukiwania i upewnić się, że wszyscy menedżerowie połączeń HTTP zostaną wyłączeni.
- (Mark Miller)
- SOLR-5583: ConcurrentUpdateSolrServer # blockUntilFinished może czekać na zawsze, jeśli usługa executora zostanie zamknięta.
- (Mark Miller)
- SOLR-5586: Wszystkie ZkCmdExecutor powinny zostać zainicjalizowane z limitem czasu klienta zk.
- (Mark Miller)
- SOLR-5587: Implementacje w kontekście ElectionContext powinny używać ZkCmdExecutor # zapewnić Exxists, aby zapewnić prawidłowe tworzenie ścieżek wyborczych.
- (Mark Miller)
- SOLR-5540: HdfsLockFactory powinien jawnie utworzyć katalog nadrzędny blokady, jeśli to konieczne.
- (Mark Miller)
- SOLR-4709: Załadowanie jądra po replikacji w przypadku zmiany plików konfiguracyjnych może się nie udać z powodu stanu wyścigu. (Mark Miller, Hossman))
- SOLR-5503: Ponów próby "forward to lider" mniej agresywnie - zamiast na IOException i status 500, ConnectException.
- (Mark Miller)
- SOLR-5588: PeerSync nie liczy wszystkich awarii połączenia jako sukcesu.
- (Mark Miller)
- SOLR-5564: hl.maxAlternateFieldLength powinien odnosić się do oryginalnego pola po próbie cofnięcia
- (janhoy)
- SOLR-5608: Nie zezwalaj zamkniętej SolrCore na publikowanie stanu do ZooKeeper.
- (Mark Miller, Shawn Heisey)
- SOLR-5615: Zakleszczenie podczas próby odzyskania po wygaśnięciu sesji ZK.
- (Ramkumar Aiyengar, Mark Miller)
- SOLR-5543: Wymiana rdzenia spowodowała duplikowanie głównych wpisów w pliku solr.xml podczas korzystania z trwałości języka solr.xml.
- (Bill Bell, Alan Woodward)
- SOLR-5618: Naprawianie fałszywych trafień w pamięci podręcznej w queryResultCache, gdy hashCodes są równe i duplikaty zapytań filtrów istnieją w jednym z żądań
- (hossman)
- SOLR-4260: ConcurrentUpdateSolrServer # blockUntilFinished może powrócić przed zakończeniem wszystkich poprzednio dodanych aktualizacji. Może to spowodować utratę rozproszonych aktualizacji przeznaczonych dla replik.
- (Markus Jelsma, Timothy Potter, Joel Bernstein, Mark Miller)
- SOLR-5645: Przeładowanie SolrCore przez CoreContainer spróbuje ponownie zarejestrować się w ZK z nową SolrCore.
- (Mark Miller)
- SOLR-5636: SolrRequestParsers wykonuje niektóre zapytania xpath dla każdego żądania, co może powodować problemy z współbieżnością.
- (Mark Miller)
- SOLR-5658: commitWithin i overwrite nie są dystrybuowane do replik teraz, gdy SolrCloud używa javabin do dystrybucji aktualizacji.
- (Mark Miller, Varun Thacker, Elodie Sannier, shalin)
- Optymalizacje:
- SOLR-5576: Zwiększ współbieżność podczas rejestracji i czekania, aż wszystkie SolrCore zarejestrują stan DOWN.
- (Christine Poerschke przez Marka Millera)
Co nowego w wersji 4.6.0:
- Wiele ulepszeń i ulepszeń dla opcji dzielenia łusek
- New AnalyzingInfixLookupFactory w celu wykorzystania narzędzia AnalyzingInfixSuggester
- Nowa funkcja CollapsingQParserPlugin do zwijania pól o wysokiej wydajności na polach o dużej liczności
- Nowe interfejsy API SolrJ do zarządzania kolekcjami
- Nowa funkcja DocBasedVersionConstraintsProcessorFactory zapewniająca wsparcie dla skonfigurowanych przez użytkownika zasad doc-centric dotyczących wersji
- Nowy domyślny format indeksu: Lucene46Codec
- Nowy typ EnumField
Co nowego w wersji 4.5.1:
- Solr 4.5.1 zawiera garść poprawek, w tym 2, które są uważane za dość poważne.
Co nowego w wersji 4.5.0:
- Obsługa niestandardowego shardingu, ulepszone trasowanie i wielowątkowe faceting.
Co nowego w wersji 4.2.0:
- Interfejs API REST do odczytu dla schematu. Zawsze chciałeś introspekować schemat przez http? Teraz możesz. Wygląda na to, że strona do zapisu będzie następna.
- DocValues zostały zintegrowane z Solr. DocValues mogą być ładowane dużo szybciej niż pamięć podręczna pól i mogą również używać różnych algorytmów kompresji, jak również w pamięci RAM lub na reprezentacjach dysków. Odpowiedzi na faceting, sortowanie i funkcje działają na korzyść. A co z obsługą systemu faceting i sortowaniem buforów z sterty? Koniec z tuningowaniem 60 gigabajtów? Co powiesz na nową, fascynującą metodę docValues na segment? Ulepszone numeryczne faceting? Słodki.
- Alias kolekcji. Masz dane oparte na czasie? Chcesz ponownie zindeksować w kolekcji tymczasowej, a następnie zamienić ją na produkcję? Gotowe. Bądź na bieżąco z Shard Aliasing.
- Odpowiedzi interfejsu API zbierania. Interfejs API kolekcji był wciąż bardzo nowy w wersji 4.0 i chociaż poprawił się nieco w wersji 4.1, odpowiedzi były z pewnością potrzebne, ale nie udało się ich odciąć. Początkowo podjęliśmy decyzję, aby interfejs Collection API był super odporny na błędy, co sprawiło, że odpowiedzi stały się trudniejsze. Nikt nie chce przeszukiwać plików logów, aby zobaczyć, jak się sprawy potoczyły. Zrobione w 4.2.
- Współdziałaj z kolekcją w dowolnym węźle. Do wersji 4.2 można było wchodzić w interakcję tylko z węzłem w klastrze, jeśli hostował co najmniej jedną kopię kolekcji, którą chciałeś przesłać / zaktualizować. Już nie - zapytaj w dowolnym węźle, czy ma on część Twojej planowanej kolekcji, i uzyskaj odpowiedź pośrednią.
- Zezwalaj na niestandardowe nazwy fragmentów, aby nowe adresy hostów mogły przejąć wycofane fragmenty. Pracujesz na Amazon bez elastycznych ips? To jest dla ciebie.
- Optymalizacje Lucene 4.2, takie jak skompresowane wektory terminów.
Co nowego w wersji 3.3.0:
- Grupowanie / zwijanie pól
- Nowa, oparta na automatach implementacja podpowiedzi / autouzupełniania oferująca mniejsze zużycie pamięci RAM o wielkość mniejszą.
- KStemFilterFactory, zoptymalizowana implementacja mniej agresywnego narzędzia do nauki języka angielskiego.
- Solr domyślnie stosuje nową, bardziej wydajną politykę scalania (TieredMergePolicy). Zobacz http://s.apache.org/merging, aby uzyskać więcej informacji.
- Ważne poprawki błędów, w tym bardzo wysokie użycie pamięci RAM podczas sprawdzania pisowni.
- Poprawki i ulepszenia Apache Lucene 3.3
Co nowego w wersji 3.2.0:
- Możliwość określenia nadpisywania i zatwierdzania jako parametrów żądania przy korzystaniu z formatu aktualizacji JSON
- TermQParserPlugin, przydatny przy generowaniu zapytań filtrujących z terminów zwróconych przez faceting pól lub komponent warunków.
- DebugComponent obsługuje teraz używanie NamedList do modelowania obiektów Explanation w swoich odpowiedziach zamiast Explanation.toString
- Ulepszenia integracji UIMA i Carrot2
- Poprawki i ulepszenia Apache Lucene 3.2
Co nowego w wersji 3.2.0:
- Wprowadzono poprawki do aktualizacji JSON.
- Ulepszono tworzenie grup wyników wyszukiwania i integrację UIMA.
- Błędy zostały naprawione.
Komentarze nie znaleziono