Dotyczy wersji 2020.1.3.x autor: Wojciech Mleczko
W domyślnej instalacji WEBCON BPS instalowany jest komponent WEBCON BPS Search Server, który jest odpowiedzialny za obsługę pełnotekstowego wyszukiwania.
Komponent ten składa się z kilku elementów:
- Apache Solr (oraz uruchamiany wraz z nim Apache ZooKeeper)
- Java
- Webcon BPS Search Service
Usługa Webcon BPS Search Service jest odpowiedzialna za uruchamianie, zatrzymywanie procesów Solr i Zookeeper, uruchamianych w ramach wirtualnej maszyny Javy.
Środowisko przygotowane przez instalator składa się z jednego node’a. W przypadku konieczności utworzenia środowiska wysokiej dostępności należy przygotować środowisko składające się z kilku node’ów Solr i ZooKeeper, oraz loadbalancera zarządzającego ruchem.
Liczba node’ów ZooKeeper koniecznych do utworzenia, zależy od tolerancji na awarię N maszyn, zgodnie z 2xN+1 . Minimalna ilość node’ów, odporna na awarię jednego node’a ZooKeepera to 3.
W przypadku Solr, wymagane jest działanie przynajmniej jednego node’a. Ilość node’ów = N+1.
Loadbalancer odpowiedzialny jest za kierowanie ruchu zapytań z WEBCON BPS, do node’ów Solr.
W kwestii instalacji Solr i ZooKeeper, z punktu widzenia WEBCON BPS, nie ma znaczenia środowisko, w którym są zainstalowane. Komponenty te, mogą być instalowane zarówno bezpośrednio na maszynach Windows, Linux, czy też w środowisku kontenerowym. WEBCON BPS odwołuje się do loadbalancera, który odpowiada za kierowanie ruchu do poszczególnych node’ów Solr.
Istotna jest konfiguracja ZooKeeper Ensemble, zgodnie z dokumentacją Solr https://lucene.apache.org/solr/guide/8_5/setting-up-an-external-zookeeper-ensemble.html#ensemble-configuration
Konfiguracja Solr w kwestii połączenia z ZooKeeper Ensemble, sprowadza się do przekazania odpowiednich wartości połączenia do ZooKeeper zgodnie z dokumentacją Solr https://lucene.apache.org/solr/guide/8_5/setting-up-an-external-zookeeper-ensemble.html#using-the-z-parameter-with-binsolr
Po uruchomieniu Solr, należy zmienić ustawienia zabezpieczeń, zgodnie z https://lucene.apache.org/solr/guide/8_5/basic-authentication-plugin.html#enable-basic-authentication, oraz zmienić hasło użytkownika administracyjnego solr na podstawie https://lucene.apache.org/solr/guide/8_5/basic-authentication-plugin.html#add-a-user-or-edit-a-password
WEBCON BPS odwołuje się do czterech kolekcji Solr:
- BPS_AI
- BPS_Activities
- BPS_Elements
- BPS_Navigations
Kolekcje te, możemy utworzyć od podstaw, lub przenieść z istniejącej instalacji Solr.
W przypadku nowej instalacji, aby móc utworzyć niezbędne kolekcje, konieczne jest załadowanie konfiguracji do ZooKeepera. Konfiguracje dla poszczególnych kolekcji, można znaleźć w folderze instalatora BPS w .\SearchServer\Solr\SolrTemplates\configsets
Należy załadować te confgiset’y do ZooKeepera zgodnie z dokumentacją https://lucene.apache.org/solr/guide/8_5/command-line-utilities.html#upload-a-configuration-directory
Kolejnym etapem jest utworzenie kolekcji. Można to zrobić wywołując poszczególne adresy (w przykładzie adresem loadbalancera na potrzeby Solr jest solr:8983):
Należy pamiętać o ustawieniu parametru replicationFactor zgodnie z ilością node’ów Solr.
W przypadku przeniesienia danych z dotychczasowej instalacji Solr należy wykonać backup/restore wykorzystywanych przez BPS kolekcji zgodnie z https://lucene.apache.org/solr/guide/8_5/collection-management.html#backup oraz https://lucene.apache.org/solr/guide/8_5/collection-management.html#restore. Nie ma potrzeby wgrywania configsetów w tym przypadku.
Po utworzeniu lub przywróceniu kolekcji, należy stworzyć, i nadać uprawnienia użytkownikowi, który będzie wykorzystywany do połączenia WEBCONBPS z Solr. Można w tym celu wykorzystać skrypt PowerShell, do tworzenia kolekcji, wykorzystujemy konto solr, wraz z ustawionym wcześniej hasłem:
W skrypcie należy zmienić adres Solr, oraz hasło dla użytkownika WEBCON_BPS.
Ostatnim etapem jest ustawienie połączenia Solr w WEBCON BPS z poziomu instalatora. W tym celu, po uruchomieniu instalatora, przechodzimy do narzędzi do zarządzania systemem, a następnie wybieramy opcję konfiguracji Search server:
Po zapisaniu ustawień należy wykonać restart usługi WebCon BPS WorkFlow Service, oraz recycle puli aplikacji WEBCON BPS Portal.