Samouczek Apache Solr: Co to jest Solr? Archikonstrukcja i instalacja

Co to jest Apache Solr?

Apache Solr jest napisaną platformą serwera wyszukiwania typu open source Java język Apache Software Foundation. Jest wysoce skalowalny i gotowy do wdrożenia wyszukiwarki do obsługi dużej ilości danych tekstowych. Celem korzystania z Apache Solr jest indeksowanie i przeszukiwanie dużej ilości treści internetowych oraz dostarczanie odpowiednich treści na podstawie zapytania wyszukiwania.

Apache Solr to oparty na REST-API wrapper HTTP wokół wyszukiwarki pełnotekstowej o nazwie Apache Lucene. Odwrócony indeks to lista słów, w której każde słowo-wpis odsyła do dokumentów, w których jest przechowywane. W ten sposób można uzyskać wszystkie dokumenty dla zapytania wyszukiwania „guru99” za pomocą prostej operacji „get”.

Historia Apache Solr

  • 1999: Doug Cutting opublikował Lucene
  • 2004: Solr został opracowany w CNET przez Yonika Seeleya jako część wewnętrznego projektu firmy
  • 2006: CNET publikuje kod źródłowy, przekazując go firmie Apache Software Foundation
  • 2008: Wydano Solr 1.3 z ulepszonymi możliwościami wyszukiwania i ulepszeniami wydajności
  • 2010: Fuzja Lucene i Solr
  • 2012: Wydano wersję Solr 4.0 z nową funkcją Solr Cloud
  • 2016: Wydano Solr 6.0, który oferuje obsługę wykonywania równoległych zapytań SQL

Funkcje Apache Solr

Oto ważne funkcje Apache Solr:

  • Automatyczne równoważenie obciążenia
  • Otwarte interfejsy oparte na standardach – XML, JSON i HTTP
  • Obsługiwane są rekomendacje i sugestie dotyczące pisowni
  • Obsługa automatycznego uzupełniania i wyszukiwania geoprzestrzennego
  • Wbudowane zabezpieczenia uwierzytelniania i autoryzacji
  • Umożliwia wykonanie wielojęzycznego wyszukiwania słów kluczowych
  • Autouzupełnianie/wpisywanie z wyprzedzeniem
  • Przetwarzanie wsadowe i strumieniowe
  • Tworzenie modeli uczenia maszynowego jest łatwe
  • Specjalnie zoptymalizowany pod kątem dużego ruchu internetowego
  • Kompleksowe interfejsy HTML do podziwiania
  • Obsługuje konfigurację schematu i bez schematu
  • Wyszukiwanie fasetowe i filtrowanie
  • Centralna konfiguracja całości Cluster

Kluczowe terminy używane w Apache Solr

Teraz, w tym samouczku dotyczącym wyszukiwarki Solr, poznamy kluczowe terminy używane w Apache Solr:

Kluczowe pojęcie Opisy Konstrukcyjne
Solr rdzeń Solr Core można zdefiniować jako indeks tekstów i pól pochodzących ze wszystkich dokumentów. Jedna Instancja Solr może mieć jeden lub wiele rdzeni Solr.

Core = instancja Lucene Index + konfiguracja Solr

Instancja Solra Instancja Solr to instancja Solr działająca w środowisku Java Maszyna wirtualna (FMV). W trybie autonomicznym oferuje tylko jedną instancję, podczas gdy w trybie chmury możesz mieć jedną lub więcej instancji.
Indeksowanie Indeksowanie to metoda dodawania zawartości dokumentu do Solr Index. Apache Solr wykorzystuje technikę odwróconego indeksu Apache Lucene.
dokument Jest to grupa pól i ich wartości. Dokument to podstawowa jednostka danych przechowywanych w Apache Core. Jeden rdzeń Apache może zawierać jeden lub więcej Dokumentów.
Pole Pole to para klucz-wartość przechowująca rzeczywiste dane w dokumencie. Klucz określa nazwę pola, a wartość zawiera dane pola. Dokument może posiadać jedno lub wiele pól. Jest używany przez Apache Solr do indeksowania zawartości dokumentu.
Spokojne interfejsy API Aby komunikować się z Solr, nie jest konieczne używanie Java programowanie. Zamiast tego zapewnia Apache Solr spokojne usługi komunikować się z nim. Możesz wysyłać dokumenty i odbierać wyniki w różnych formatach plików, takich jak JSON, XML i CSV.
Wyszukiwanie pełnotekstowe Solr oferuje funkcje wyszukiwania pełnotekstowego, takie jak tokeny, frazy, sprawdzanie pisowni, automatyczne uzupełnianie, symbole wieloznaczne itp.
Interfejs administratora Solr oferuje łatwy w użyciu, przyjazny dla użytkownika, wyposażony w funkcje interfejs użytkownika. Za pomocą interfejsu możesz wykonywać zadania takie jak zarządzanie logami, dodawanie, usuwanie, aktualizacja i wyszukiwanie dokumentów.
Tekstocentryczny i posortowany według trafności Apache Solr służy do wyszukiwania dokumentów tekstowych, a wyniki dostarczane są zgodnie z zapytaniem użytkownika.
Node W chmurze Solr każda pojedyncza instancja nazywana jest węzłem.
Cluster Klaster jest zbiorem węzłów.
Klaster ma indeks logiczny, który nazywany jest również zbiorem.
Czerep Jest to niewielki obszar zbioru, w którym znajdują się pojedyncze lub wielokrotne repliki indeksu.
Replika Replika to kopia fragmentu działająca w węźle.
Lider Jest to replika sharda, która wysyła żądania Chmury Solr dla pozostałych replik.

Apache Solr Architektura

Teraz, w tym samouczku dotyczącym wyszukiwania Solr, dowiedzmy się o Apache Solr Archistruktura:

Apache Solr Architektura
Apache Solr Architektura

Apache Solr kompromituje następujące komponenty

Pytanie

Parser zapytań analizuje zapytania, które należy przekazać do Solr. Weryfikuje zapytanie, aby sprawdzić błędy składniowe. Po przeanalizowaniu zapytań przekłada się to na format znany Lucene.

Osoba zajmująca się prośbami

Żądania wysyłane do Apache Solr są przetwarzane przez procedurę obsługi żądań. Żądanie może być żądaniem zapytania lub żądaniem aktualizacji indeksu. Musisz wybrać osobę obsługującą żądania zgodnie ze swoimi wymaganiami. Aby przekazać żądanie do Solr, musisz zmapować procedurę obsługi na konkretny punkt końcowy adresu URL.

Autor odpowiedzi

Moduł zapisujący odpowiedzi wygeneruje sformatowane dane wyjściowe dla zapytań wejściowych. Obsługuje różne formaty, takie jak XML, JSON, CSV.etc. Możesz mieć różnych autorów odpowiedzi dla różnych typów żądań.

Program obsługi aktualizacji

Kiedy wysyłasz żądanie aktualizacji do Apache Solr, jest ono uruchamiane przez zestaw wtyczek, podpisu, logowania i indeksowania. Proces ten nazywany jest procesorem żądań aktualizacji. Program obsługi aktualizacji odpowiedzialny również za modyfikacje, takie jak dodawanie lub usuwanie plików itp.

Aplikacje Apache Solr

Zastosowanie Stosowanie
Portalu Intranetowego
  • Łatwy dostęp do wyszukiwania
  • Uruchomienie aplikacji
  • Powiadomienia o nowościach i wydarzeniach
  • Uwierzytelnianie pojedynczego logowania
Klient federacyjny
  • Uproszczona prezentacja
  • Przeszukuj całą zawartość
  • Tylko autoryzowany dostęp
  • Przeglądanie dokumentów
Zestawy danych instrumentów
  • Zoptymalizowany dla naukowców
  • Menu zależne od danych
  • Specjalistyczne filtry siatkowe
Dokumenty prawne
  • Zaprojektowany dla badaczy
  • Bogaty dostęp do metadanych
  • Eksport arkuszy kalkulacyjnych
  • Zobacz akcelerator dokumentów
Osadzone w aplikacji PLM
  • Oferuje lepsze możliwości wyszukiwania niż RDBMS
  • Późno wiążący model bezpieczeństwa
  • Akcje dokumentu widoczne na pasku narzędzi

Jak zainstalować Apache Solr?

Krok 1) Otwórz stronę internetową i kontynuuj subskrypcję
Idź do tego link, Kliknij „Kontynuuj subskrypcję”.

Zainstaluj Apache Solr

Krok 2) Kliknij Zaakceptuj warunki
Na następnej stronie kliknij Zaakceptuj warunki.

Zainstaluj Apache Solr

Krok 3) Poczekaj jakiś czas
Następnie poczekaj chwilę, a następnie Żądanie zostanie zaakceptowane po pewnym czasie.

Zainstaluj Apache Solr

Krok 4) Przejdź do konfiguracji
Odśwież stronę i kliknij „Kontynuuj konfigurację”

Zainstaluj Apache Solr

Krok 5) Przejdź do uruchomienia
Zachowaj ustawienia domyślne i kliknij „Kontynuuj uruchamianie”.

Zainstaluj Apache Solr

Krok 6) Zachowaj ustawienia domyślne
Na następnej stronie Zachowaj ustawienia domyślne

  • Upewnij się, że masz plik pem klucza
  • Kliknij „Uruchom”

Zainstaluj Apache Solr

Zobaczysz ten komunikat o powodzeniu

Zainstaluj Apache Solr

Krok 7) Zwróć uwagę na publiczny DNS
W konsoli EC2 zanotuj publiczny DNS swojej instancji

Zainstaluj Apache Solr

Krok 8) Otwórz poniższy adres URL
Aby uzyskać dostęp do Solr, po prostu użyj adresu URL

http://publicdns:8983

w naszym przypadku tak się dzieje

http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983

Zainstaluj Apache Solr

Uwaga: Jeśli masz problemy z dostępem do instancji, zmień reguły ruchu przychodzącego i wychodzącego w swojej instancji, aby zezwolić na cały ruch, jak pokazano w poniższym przykładzie zapytania Solr:

Zainstaluj Apache Solr

Elasticsearch kontra. Apache Solr

Parametry Apache Solr Elastyczne wyszukiwanie
Natura Jest to projekt open source. Nie jest to projekt typu open source.
Stan statyczny Statyczny w pliku shema.xml Statyczne w Elasticsearch.yml
Format: XML, CSV, JSON Tylko JSON
wskaźnik Można go ponownie załadować w czasie działania za pomocą przeładowania kolekcji/rdzenia Zdefiniowane podczas tworzenia indeksu/typu za pomocą wywołania REST
Dokumenty Jest to dobrze udokumentowane. Jest źle udokumentowane.
Dzielenie odłamków Możliwy Niemożliwe

Zalety Apache Solr

  • Pomaga skrócić czas potrzebny na zlokalizowanie informacji
  • Jest to szybka, prosta, wydajna i elastyczna wyszukiwarka
  • Pomaga zwiększyć dostępność produktów i usług
  • Zwiększ wydatki klientów na aplikację internetową
  • Pomaga poprawić komfort użytkowania aplikacji internetowej, aby zwiększyć przychody i zyski
  • Kompleksowy interfejs administracyjny oparty na HTML
  • Elastyczny i adaptowalny dzięki konfiguracji XML
  • Rozszerzalna wtyczka Architektura
  • Wysoce skalowalna, solidna i odporna na błędy wyszukiwarka
  • Obsługuje rozproszone, cieniowanie, replikację, Clusteri wielowęzłowe Architektura

Wady Apache Solr

  • Nie jest to magazyn danych zgodny z ACID
  • Nie nadaje się jako główny magazyn danych. Przydatny tylko jako dodatkowy magazyn danych
  • Nie oferuje obsługi transakcji i transakcji rozproszonych
  • Brak obsługi połączeń i złożonych zapytań
  • Nieoptymalne dla znormalizowanych danych

Podsumowanie

  • Apache Solr jest oprogramowaniem typu open source REST-API oparty na serwerze wyszukiwania
  • Apache Solr został opracowany w CNET przez Yonika Seeleya jako część wewnętrznego projektu firmy
  • Apache Solr oferuje funkcje takie jak automatyczne uzupełnianie i wyszukiwanie geoprzestrzenne
  • Solr Core, instancja Solr, indeksowanie, dokument, spokojne interfejsy API, wyszukiwanie pełnotekstowe, interfejs administracyjny itp. to niektóre kluczowe terminy używane w Apache Solr
  • Zapytania, moduł obsługi żądań, moduł piszący żądania i moduły obsługi aktualizacji to tylko niektóre z ważnych komponentów Apache Solr
  • Portal intranetowy, klient stowarzyszony, zestawy danych instrumentów, dokumenty regulacyjne, osadzone w aplikacji PLM to przydatne aplikacje Apache Solr
  • Apache Solr jest dobrze udokumentowany w porównaniu do Elastic Search, który jest słabo udokumentowany
  • Największą zaletą Apache Solr jest to, że pomaga skrócić czas potrzebny na zlokalizowanie informacji
  • Główną wadą tej aplikacji. Nie jest to magazyn danych zgodny z ACID