Jak wygląda Solr UI i jak z niego korzystać?

Z grubsza ogarniesz to w: 3 min

W tym artykule chcę pokazać przekrój Solr UI oraz tego co można znaleźć tu ciekawego. Nie będziemy poruszać każdej możliwej kwestii, ale przejdziemy po tych – moim zdaniem – najciekawszych. Kawa w dłoń i ruszajmy w drogę!

Czym jest Solr UI? #

Solr UI to dashboard, który pomoże nam sie zorientować w aktualnym stanie naszego klastra Solr Cloud. Ale nie tylko! Dzięki Solr UI możemy do pewnego stopnia zarządzać danymi które tam są – tworzyć kolekcje, usuwać je, a nawet przeglądać przy pomocy query. Często wystawiony jest pod portem 8983.

Solr UI potrafi więc być bardzo przydatnym narzędziem. Musimy się co prawda przyzwyczaić do jego “minimalistycznego dizajnu”, a mówiąc wprost – stylowania rodem z początku XXI wieku. Poniżej ogólny widok, a potem lecimy.

Przegląd najciekawszych aspektów Solr UI #

Logi Solr #

Pierwsza rzecz, która może nas zainteresować, to logi klastra.

Jak widać, mamy “ładnie” podświetlone ważniejsze i mniej istotne. Co ciekawe, możemy w prawym dolnym rogu przełączać między datami lokalnego czasu oraz UTC.

Praktyczna podpowiedź: Jeśli mamy jakiś problem i chcemy skorzystać z tego narzędzia aby przeanalizować sytuację, warto od razu kliknąć “Auto-refresh”. Inaczej logi będą nam się nieustannie aktualizowały, co potrafi wyprowadzić z równowagi najwytrwalszych zawodników.

Moja opinia: można potraktować to jako punkt wyjścia. Prawdziwą analizę jednak, polecam dokonywać w innych miejscach. Można bardzo surowo – przeglądać plik logów na konkretnym nodzie. Da nam to znacznie więcej danych – a praktyka pokazuje, że w Solr UI logi często nie posiadają przydatnych komunikatów. Można też bardziej sprofesjonalizować sprawę i logi wczytywać do zewnętrznych narzedzi, które ułatwią korzystanie.

Cloud #

W tej zakładce możemy pogrzebać nieco po naszym klastrze. Sprawdzimy tutaj które nody są włączone, jakie mamy zużycie zasobów na nich. Dowiemy się także gdzie rozmieszczone są poszczególne kolekcje, itd.

Co więcej, możemy zorientować się w nodach Zookeepera (w moim przypadku tylko 1, przeważnie mamy 3 nody Zookeepera). Sprawdzimy jaki jest status, na jakim porcie, w jakim nodzie jest ustawiony itd.

Wreszcie – możemy sprawdzić jaki jest rozłożenie poszczególnych shardów konkretnych kolekcji, na danych nodach. Dowiemy się z tego miejsca który core jest liderem, które są aktywne, a które padły i trzeba im pomóc.

Schema Designer #

Docieramy do szalenie ciekawego miejsca. Jeśli pracujesz z Solr, to wiesz, że konfiguracja kolekcji daje tu duże możliwości, ale może również mocno dopiec przez to ile pracy trzeba w to włożyć.

Schema Designer pozwala wygenerować, a następnie “wyklikać” ustawienie, na podstawie dostarczonej próbki danych. Naprawdę!

Kiedy dodamy plik z danymi (json, css, xml – max 5mb oraz 1000 dokumentów), musimy wybrać schemat. To może być “_default” i jest pewną “bazą” wyjściową do tego co będzie wygenerowane. Następnie klikamy “Analyze Documents” i… gotowe! Pola powinny zostać prawidłowo wykryte, wygenerowane. Jeśli chcemy, możemy je edytować oraz sprawdzać w “Query Tester” na ile się nam udały. Na koniec zmiany możemy opublikować w naszym Solr Cloud, lub pobrać jako paczka plików.

Collections #

Następna zakładka warta uwagi, to po prostu kolekcje. Możemy tutaj zarządzać nimi, to znaczy tworzyć, monitorować aktualne lub usunąć. Kiedy klikniemy w którąkolwiek już istniejącą kolekcję, zobaczymy jej informacje, takie jak konkretne shardy, replication factory czy jaka jest zastosowana technika routingu.

Gdy będziemy chcieli stworzyć kolekcję, musimy podać oczywiście nazwę, ale także config set. Config set musimy najpierw skonfigurować na serwerze a następnei wysłać na Zookeeper’a. Dopiero wtedy będzie widoczny. Polecenie do wysłania:

/techs/solr/bin/solr zk upconfig -n recipes -d /root/solr/recipes_configset/ -z localhost:2181

Polecenie wzięte z kursu “Fundament Apache Solr” – sądzę, że z grubsza wiadomo które elementy należy podmienić;-).

Opcje kolekcji #

Przechodzimy do ostatniej dużej sekcji o której chcę napisać w tym artykule. Chodzi o listę rzeczy które znajdziemy w konkretnej kolekcji. Klikamy na listę rozwijaną i wybieramy kolekcję

Analysis #

Najciekawsze narzędzie – moim skromnym zdaniem;-) – to Analysis. Polega na tym, że możemy przeprowadzić “testowe query” na konkretny polu już istniejącej kolekcji. W ten sposób sprawdzimy w jaki sposób przebiegać będzie analiza zarówno na etapie indeksacji jak i query.

Co bardzo istotne – Analysis pokaże nam ewolucję zapytania krok po kroku. Będziem wydzieli jak działa każdy krok który zaimplementowaliśmy w managed-schema. Prosty przykład poniżej.

Files #

Tu sprawa jest prosta. Każda kolekcja jest zbudowana na bazie konkretnego zestawu konfiguracyjnego (config set). Zestaw ten składa się z różnych plików – przede wszystkim z solrconfig.xml oraz managed-schema.

W tej sekcji można w wygodny sposób przejrzeć każdy z plików. Jest to wygodne nie tylko z samej racji że możemy to przejrzeć, ale także wtedy, gdy dokonujemy aktualizacji config set i chcemy sprawdzić, czy faktycznie wszystko weszło.

Query #

Była najciekawsza sekcja, czas na najbardziej praktyczną. W query mamy konfigurator: możemy po prostu wysłać zapytanie i sprawdzić jaka przyjdzie odpowiedź. Przydaje się zarówno do przeglądania Solr, jak i testowania zapytań by porównywać z tym co zbudujemy w naszych aplikacjach.

Schema #

Czas na ostatni z elementów. W sekcji “schema” przede wszystkim możemy sprawdzić jak wygląda każde pole naszej kolekcji. Zobaczymy tu m.in. czy jest indeksowane czy storowane. Czy multivalued czy tokenized.

Dodatkowo możemy tutaj modyfikować kolekcję. Można usunąć pole, dodać pole zwykłe, dynamiczne albo skopiować pole.

Moja uwaga: choć wygląda to bardzo prosto, trzymałbym się jednak tego, aby wszelkie zmiany przeprowadzać “od podstaw” – zachowujemy wtedy pełną kontrolę nad tym jak wygląda nasz schemat.

Podsumowanie #

Jak widać, Solr UI to naprawdę przekrojowe narzędzie. Chociaż nie jest bardzo rozbudowane, to zawiera wiele przydatnych opcji nie tylko przeglądu i monitorowania klastra, ale także zarządzania naszym Solr Cloud.

Powodzenia!

Responses