Apache Solr konfiguracja węzła

Apache Solr konfiguracja węzła

Część 1: Konfigurowanie pojedynczego węzła

Dzisiaj elektroniczne przechowywanie dokumentów lub danych na urządzeniu pamięci jest zarówno szybkie, jak i łatwe, jest też porównywalnie tanie. W użyciu jest odniesienie do nazwy pliku, które ma opisać, o czym jest dokument. Alternatywnie dane są przechowywane w systemie zarządzania bazą danych (DBMS), takim jak PostgreSQL, Mariadb lub MongoDB, aby wymienić kilka opcji. Kilka mediów pamięci jest lokalnie lub zdalnie podłączonych do komputera, takich jak USB Stick, wewnętrzny lub zewnętrzny dysk twardy, przechowywanie sieciowe (NAS), pamięć chmur lub GPU/Flash, jak w NVIDIA V100 [10].

Natomiast proces odwrotnego, znalezienie odpowiednich dokumentów w zbiorze dokumentów, jest dość złożone. Wymaga to głównie wykrywania formatu pliku bez usterki, indeksowania dokumentu i wyodrębnienia kluczowych pojęć (klasyfikacja dokumentów). W tym miejscu pojawia się framework Apache Solr. Oferuje praktyczny interfejs do wykonania wymienionych kroków - budowanie indeksu dokumentów, akceptując zapytania, przeprowadzanie faktycznego wyszukiwania i zwracanie wyniku wyszukiwania. Apache Solr stanowi zatem rdzeń skutecznych badań nad bazą danych lub silosu dokumentu.

W tym artykule dowiesz się, jak działa Apache Solr, jak skonfigurować pojedynczy węzeł, indeksować dokumenty, wyszukiwać i pobrać wynik.

Artykuły uzupełniające opierają się na tym, a w nich omawiamy inne, bardziej szczegółowe przypadki użycia, takie jak integracja PostgreSQL DBMS jako źródło danych lub równoważenie obciążenia w wielu węzłach.

O projekcie Apache Solr

Apache Solr to framework wyszukiwarki oparty na potężnym serwerze indeksu wyszukiwania Lucene [2]. Napisany w Javie, jest prowadzony pod parasolem Apache Software Foundation (ASF) [6]. Jest swobodnie dostępny na podstawie licencji Apache 2.

Temat „Znowu znajdź dokumenty i dane” odgrywa bardzo ważną rolę w świecie oprogramowania, a wielu programistów intensywnie zajmuje się tym. Witryna AwesomeOpensource [4] zawiera ponad 150 projektów open source w wyszukiwarkach. Na początku 2021 r. Elasticsearch [8] i Apache Solr/Lucene to dwa najlepsze psy, jeśli chodzi o wyszukiwanie większych zestawów danych. Opracowanie wyszukiwarki wymaga dużej wiedzy, Frank robi to z biblioteką Advas Advase Search z Python [3] od 2002 roku.

Konfigurowanie Apache Solr:

Instalacja i działanie Apache Solr nie są skomplikowane, jest to po prostu cała seria kroków, które należy wykonać. Pozwól na około 1 godzinę wyniku pierwszego zapytania danych. Co więcej, Apache Solr to nie tylko hobby, ale jest również używany w profesjonalnym środowisku. Dlatego wybrane środowisko systemu operacyjnego jest przeznaczone do długoterminowego użytku.

Jako środowisko podstawowe tego artykułu używamy Debian GNU/Linux 11, który jest nadchodzącym wydaniem Debiana (od początku 2021 r.) I oczekuje się, że będzie dostępna w połowie 20121 r. W tym samouczku spodziewamy się, że już go zainstalowałeś,-jako system natywny, w maszynie wirtualnej, takiej jak VirtualBox lub kontener AWS.

Oprócz podstawowych komponentów potrzebujesz następujących pakietów oprogramowania do zainstalowania w systemie:

  • Kędzior
  • Default-Java
  • Libcommons-Cli-java
  • Libxerces2-Java
  • Libtika-java (biblioteka z projektu Apache Tika [11])

Pakiety te są standardowymi komponentami Debian GNU/Linux. Jeśli nie zostanie jeszcze zainstalowany, możesz poinstalować je za jednym razem jako użytkownik z prawami administracyjnymi, na przykład root lub przez sudo, pokazane w następujący sposób:

# apt-get install curl default-java libcommons-cli-java libxerces2-java libtika-java

Po przygotowaniu środowiska, drugi krok jest instalacją Apache Solr. Na razie Apache Solr nie jest dostępny jako zwykły pakiet Debian. Dlatego konieczne jest odzyskanie Apache Solr 8.8 Z sekcji pobierania strony internetowej projektu [9]. Użyj poniższego polecenia WGET, aby przechowywać je w katalogu /TMP swojego systemu:

$ wget -o/tmp https: // pobieranie.Apache.Org/Lucene/Solr/8.8.0/solr-8.8.0.TGZ

Przełącznik -o skróca -output -dokument i sprawia, że ​​wgget przechowuje odzyskaną smołę.plik GZ w danym katalogu. Archiwum ma rozmiar około 190 m. Następnie rozpakuj archiwum w katalogu /opt za pomocą TAR. W rezultacie znajdziesz dwa podkatalog - /opt /solr i /opt /solr -8.8.0, podczas gdy /opt /solr jest ustawiony jako symboliczny link do tego drugiego. Apache Solr jest wyposażony w skrypt konfiguracyjny, który wykonujesz następny, jest następujący:

# /opt /solr-8.8.0/bin/install_solr_service.cii

Powoduje to, że utworzenie usługi Solr użytkownika Linux działa w usłudze Solr, a jego katalog domowy pod /var /solr ustanawia usługę Solr, dodano z odpowiednimi węzłami i uruchamia usługę Solr na porcie 8983. To są wartości domyślne. Jeśli jesteś z nich niezadowolony, możesz je zmodyfikować podczas instalacji, a nawet opatalnicze, skrypt instalacyjny akceptuje odpowiednie przełączniki do regulacji konfiguracji. Zalecamy przyjrzenie się dokumentacji Apache Solr dotyczącej tych parametrów.

Oprogramowanie Solr jest zorganizowane w następujących katalogach:

  • kosz
    zawiera binaria i pliki Solr, aby uruchomić Solr jako usługę
  • wkład
    Zewnętrzne biblioteki Solr, takie jak biblioteki importu danych i biblioteki Lucene
  • dist
    Wewnętrzne biblioteki Solr
  • dokumenty
    Link do dokumentacji Solr dostępnej online
  • przykład
    Przykładowe zestawy danych lub kilka przypadków użycia/scenariuszy
  • licencje
    Licencje oprogramowania dla różnych komponentów Solr
  • serwer
    Pliki konfiguracyjne serwera, takie jak serwer/etc dla usług i portów

Bardziej szczegółowo możesz przeczytać o tych katalogach w dokumentacji Apache Solr [12].

Zarządzanie Apache Solr:

Apache Solr działa jako usługa w tle. Możesz uruchomić go na dwa sposoby, używając SystemCtl (pierwsza linia) jako użytkownika z uprawnieniami administracyjnymi lub bezpośrednio z katalogu Solr (druga linia). Poniżej wymieniamy oba polecenia terminali:

# Systemctl start solr
$ solr/bin/solr start

Zatrzymanie Apache Solr odbywa się podobnie:

# Systemctl Stop Solr
$ solr/bin/solr stop

Taka sama droga do ponownego uruchomienia usługi Apache Solr:

# Systemctl restart solr
$ solr/bin/solr restart

Ponadto status procesu Apache Solr można wyświetlić w następujący sposób:

# SystemCtl Status Solr
Status $ solr/bin/solr

Wyjście zawiera listę uruchomionego pliku usługi, zarówno odpowiednich wiadomości znaczników czasu, jak i dziennika. Poniższy rysunek pokazuje, że usługa Apache Solr została uruchomiona na porcie 8983 z procesem 632. Proces z powodzeniem działa przez 38 minut.

Aby sprawdzić, czy proces Apache Solr jest aktywny, możesz również sprawdzić krzyżowo za pomocą polecenia PS w połączeniu z GREP. Ogranicza to wyjście PS do wszystkich obecnie aktywnych procesów Apache Solr.

# PS AX | Grep -kolorowy solr

Poniższy rysunek pokazuje to dla jednego procesu. Widzisz połączenie Java, które towarzyszy lista parametrów, na przykład wykorzystanie pamięci (512 mln) do słuchania na 8983 zapytań, 7983 dla żądań zatrzymania i rodzaj połączenia (HTTP).

Dodawanie użytkowników:

Procesy Apache Solr działają z określonym użytkownikiem o nazwie Solr. Ten użytkownik jest pomocny w zarządzaniu procesami Solr, przesyłaniem danych i wysyłania żądań. Po konfiguracji Użytkownik Solr nie ma hasła i oczekuje się, że będzie miało zalogować się, aby kontynuować. Ustaw hasło dla użytkownika Solr, takiego jak root użytkownika, jest pokazane w następujący sposób:

# passwd solr

Administracja Solr:

Zarządzanie Apache Solr odbywa się za pomocą pulpitu rozdzielczego Solr. Jest to dostępne za pośrednictwem przeglądarki internetowej z http: // localhost: 8983/solr. Poniższy rysunek pokazuje główny widok.

Po lewej stronie widać główne menu, które prowadzi do podsekcji w celu rejestrowania, podawania rdzeni Solr, konfiguracji Java i informacji o stanie. Wybierz żądany rdzeń za pomocą pola wyboru poniżej menu. Po prawej stronie menu wyświetlane są odpowiednie informacje. Wpis menu pulpitu Pokazuje dalsze szczegóły dotyczące procesu Apache Solr, a także bieżące użycie obciążenia i pamięci.

Pamiętaj, że zawartość pulpitu deski rozdzielczej zmienia się w zależności od liczby rdzeni Solr i indeksowanych dokumentów. Zmiany wpływają zarówno na elementy menu, jak i odpowiednie informacje, które są widoczne po prawej stronie.

Zrozumienie, jak działają wyszukiwarki:

Mówiąc po prostu, wyszukiwarki analizują dokumenty, kategoryzują je i pozwalają na wyszukiwanie na podstawie ich kategoryzacji. Zasadniczo proces składa się z trzech etapów, które są określane jako pełzanie, indeksowanie i ranking [13].

Pełzanie jest pierwszym etapem i opisuje proces, w którym gromadzona jest nowa i zaktualizowana treść. Wyszukiwarka używa robotów znanych również jako pająki lub pełzanie, stąd termin pełzający, aby przejść przez dostępne dokumenty.

Drugi etap nazywa się indeksowanie. Wcześniej zebrana zawartość można przeszukiwać poprzez przekształcenie oryginalnych dokumentów w format, który rozumie wyszukiwarka. Słowa kluczowe i koncepcje są wyodrębnione i przechowywane w (masywnych) bazach danych.

Trzeci etap nazywa się zaszeregowanie i opisuje proces sortowania wyników wyszukiwania zgodnie z ich znaczeniem z zapytaniem. Powszechne jest wyświetlanie wyników w kolejności malejącej, aby wynik, który ma najwyższe znaczenie dla zapytania wyszukiwarki.

Apache Solr działa podobnie jak wcześniej opisany proces trzyetapowy. Podobnie jak popularna wyszukiwarka Google, Apache Solr korzysta z sekwencji gromadzenia, przechowywania i indeksowania dokumentów z różnych źródeł i udostępnia je/wyszukiwanie w prawie rzeczywistym.

Apache Solr używa różnych sposobów indeksowania dokumentów, w tym następujących [14]:

  1. Korzystanie z obsługi żądania indeksu podczas przesyłania dokumentów bezpośrednio do Solr. Dokumenty te powinny znajdować się w formatach JSON, XML/XSLT lub CSV.
  2. Korzystanie z modułu obsługi żądania wyodrębniania (komórka Solr). Dokumenty powinny znajdować się w formacie PDF lub biurze, które są obsługiwane przez Apache Tika.
  3. Korzystanie z obsługi importu danych, który przekazuje dane z bazy danych i kataloguje je za pomocą nazw kolumn. Podręcznik importu danych pobiera dane z wiadomości e -mail, kanałów RSS, danych XML, baz danych i zwykłych plików tekstowych jako źródeł.

Prowadzący zapytanie jest używany w Apache Solr po wysłaniu żądania wyszukiwania. Prowadzący zapytanie analizuje podane zapytanie na podstawie tej samej koncepcji obsługi indeksu, aby dopasować zapytanie i wcześniej indeksowane dokumenty. Mecze są uszeregowane według ich stosowności lub znaczenia. Krótki przykład zapytania pokazano poniżej.

Przesyłanie dokumentów:

Ze względu na prostotę używamy przykładowego zestawu danych dla następującego przykładu, który jest już dostarczany przez Apache Solr. Przesyłanie dokumentów odbywa się jako usługi użytkownika. Krok 1 to tworzenie rdzenia o nazwie TechProducts (dla wielu elementów technologicznych).

$ solr/bin/solr tworzyć -c

Wszystko jest w porządku, jeśli zobaczysz wiadomość „Utworzono nowe rdzeń”. Krok 2 to dodawanie danych (dane XML z ExampleDOC) do wcześniej utworzonych podstawowych produktów technicznych. W użyciu jest post narzędzi, który jest sparametryzowany przez -c (nazwa rdzenia) i dokumenty do przesłania.

$ solr/bin/post -c techProducts solr/example/exampledocs/*.XML

Spowoduje to wyniki pokazane poniżej i będzie zawierać całe połączenie plus 14 dokumentów, które zostały indeksowane.

Również pulpit nawigacyjny pokazuje zmiany. Nowy wpis o nazwie TechProducts jest widoczny w menu rozwijanym po lewej stronie, a liczba odpowiednich dokumentów zmieniła się po prawej stronie. Niestety szczegółowy widok surowych zestawów danych nie jest możliwy.

W przypadku usunięcia rdzenia/kolekcji użyj następującego polecenia:

$ solr/bin/solr delete -c TechProducts

Zapytanie danych:

Apache Solr oferuje dwa interfejsy do zapytania o dane: za pośrednictwem pulpitu nawigacyjnego i linii poleceń. Wyjaśnimy obie metody poniżej.

Wysyłanie zapytań za pośrednictwem pulpitu rozdzielczego Solr odbywa się w następujący sposób:

  • Wybierz Węzło Produkty techniczne z menu rozwijanego.
  • Wybierz zapytanie wpisowe z menu poniżej menu rozwijanego.
    Pola wpisowe wyskakują po prawej stronie, aby sformułować zapytanie, takie jak obsługa żądania (QT), zapytanie (q) i kolejność sortowania (sort).
  • Wybierz zapytanie pola wpisu i zmień zawartość wpisu z „*:*” na „Manu: Belkin”. Ogranicza to wyszukiwanie z „wszystkich pól ze wszystkimi wpisami” do „zestawów danych, które mają nazwę Belkin w polu Manu”. W takim przypadku nazwa manu skróci producenta w przykładowym zestawie danych.
  • Następnie naciśnij przycisk z zapytaniem Execute. Wynikiem jest wydrukowane żądanie HTTP na górze, a wynik zapytania w formacie danych JSON poniżej.

Linia polecenia akceptuje to samo zapytanie, co na desce rozdzielczej. Różnica polega na tym, że musisz znać nazwę pól zapytania. Aby wysłać to samo zapytanie, jak powyżej, musisz uruchomić następujące polecenie w terminalu:

$ curl
http: // localhost: 8983/solr/techProducts/Query?q = ”manu”: „Belkin

Wyjście jest w formacie JSON, jak pokazano poniżej. Wynik składa się z nagłówka odpowiedzi i rzeczywistej odpowiedzi. Odpowiedź składa się z dwóch zestawów danych.

Podsumowanie:

Gratulacje! Z powodzeniem osiągnąłeś pierwszy etap. Podstawowa infrastruktura jest ustawiona i nauczyłeś się przesyłać i zapytać dokumenty.

Następny krok obejmie sposób udoskonalenia zapytania, sformułowania bardziej złożonych zapytań i zrozumienia różnych formularzy internetowych dostarczonych przez stronę Apache Solr Query. Omówimy również, jak przetwarzać wyniki wyszukiwania za pomocą różnych formatów wyjściowych, takich jak XML, CSV i JSON.

O Autorach:

Jacqui Kabeta jest ekologiem, zapalonym badaczem, trenerem i mentorem. W kilku krajach afrykańskich pracowała w środowisku IT i organizacji pozarządowych.

Frank Hofmann jest programistą IT, trenerem i autorem i woli pracować z Berlina, Genewy i Kapsztadu. Współautor książki zarządzania pakietami Debian dostępna w DPMB.org

  • [1] Apache Solr, https: // Lucene.Apache.org/solr/
  • [2] Lucene Search Library, https: // Lucene.Apache.org/
  • [3] Advas Advanced Search, https: // pYPI.org/projekt/advas-advanced-search/
  • [4] Projekty typu open source w wyszukiwarkach 165, https: // AwesomeOpensource.com/Projects/Search-Silnik
  • [5] ElasticSearch, https: // www.elastyczny.co/de/elasticsearch/
  • [6] Apache Software Foundation (ASF), https: // www.Apache.org/
  • [7] Fess, https: // fess.Codelibs.org/indeks.html
  • [8] ElasticSearch, https: // www.elastyczny.kod/
  • [9] Apache Solr, Sekcja Pobierz, https: // Lucene.Apache.org/solr/pobieranie.HTM
  • [10] Nvidia V100, https: // www.nvidia.com/en-us/data-center/v100/
  • [11] Apache tika, https: // tika.Apache.org/
  • [12] Układ katalogu Apache Solr, https: // Lucene.Apache.org/solr/instrukcja/8_8/instalacja solr.Html#Directory-Layout
  • [13] Jak działają wyszukiwarki: pełzanie, indeksowanie i ranking. Przewodnik dla początkujących o SEO https: // Moz.com/początkujący-guide-to-seo/how-search-insteines-operacja
  • [14] Zacznij od Apache Solr, https: // sematext.com/przewodniki/solr/#: ~: tekst = solr%20works%20By%20 Gathering%2C%20Storing, z%20 huge%20Volumes%20of%20data