Samouczek Apache Solr

Samouczek Apache Solr
W tej lekcji zobaczymy, w jaki sposób możemy użyć Apache Solr do przechowywania danych i jak możemy uruchomić różne zapytania.

Co to jest Apache Solr

Apache Solr jest jedną z najpopularniejszych baz danych NoSQL, które można użyć do przechowywania danych i zapytania o prawie w czasie rzeczywistym. Opiera się na Apache Lucene i jest napisany w Javie. Podobnie jak ElasticSearch, obsługuje zapytania bazy danych za pośrednictwem API REST. Oznacza to, że możemy użyć prostych połączeń HTTP i użyć metod HTTP, takich jak Get, Post, Put, Delete itp. Aby uzyskać dostęp do danych. Zapewnia również opcję uzyskania danych w postaci XML lub JSON za pośrednictwem API REST.

Architektura: Apache Solr

Zanim zaczniemy pracować z Apache Solr, musimy zrozumieć komponenty, które stanowią Apache Solr. Rzućmy okiem na niektóre elementy:

Architektura Apache Solr

Należy zauważyć, że na powyższym rysunku pokazano tylko główne elementy Solr. Zrozummy również ich funkcjonalność:

  • Prośba o obsługę: Żądania, które klient składa do Solr, są zarządzane przez obsługę żądania. Żądanie może być od dodania nowego rekordu do aktualizacji indeksu w Solr. Handlery identyfikują rodzaj żądania z metody HTTP zastosowanej z mapowaniem żądań.
  • Wyszukaj komponent: Jest to jeden z najważniejszych składników Solr. Komponent wyszukiwania zajmuje się wykonywaniem operacji związanych z wyszukiwaniem, takimi jak rozmycie, kontrole pism, zapytania terminowe itp.
  • Parser zapytania: Jest to komponent, który faktycznie analizuje zapytanie, które klient przekazuje do obsługi żądania i rozbija zapytanie na wiele części, które mogą być zrozumiane przez silnik podstawowy
  • Pisarz reagowania: Ten komponent jest odpowiedzialny za zarządzanie formatem wyjściowym dla zapytań przekazanych do silnika. Pisarz reagowania pozwala nam dostarczyć wyjście w różnych formatach, takich jak XML, JSON itp.
  • Analizator/tokenizer: Silnik Lucene rozumie zapytania w postaci wielu tokenów. Solr analizuje zapytanie, rozkłada je na wiele tokenów i przekazuje silnik Lucene.
  • Zaktualizuj procesor żądania: Po uruchomieniu zapytania i wykonywania operacji takich jak aktualizacja indeksu i danych związanych z nim, komponent procesora żądania aktualizacji jest odpowiedzialny za zarządzanie danymi w indeksie i modyfikowanie.

Pierwsze kroki z Apache Solr

Aby zacząć używać Apache Solr, należy go zainstalować na komputerze. Aby to zrobić, przeczytaj zainstaluj Apache Solr na Ubuntu.

Upewnij się, że masz aktywną instalację Solr, jeśli chcesz wypróbować przykłady, które przedstawiamy później na lekcji, a strona administracyjna jest osiągalna na LocalHost:

Strona główna Apache Solr

Wstawienie danych

Na początek rozważmy kolekcję w Solr, którą nazywamy Linux_Hint_Collection. Nie ma potrzeby jawnego definiowania tej kolekcji, tak jak w przypadku wstawienia pierwszego obiektu, kolekcja zostanie wykonana automatycznie. Wypróbujmy nasze pierwsze wywołanie API REST, aby wstawić nowy obiekt do nazwanej kolekcji Linux_Hint_Collection.

Wstawienie danych

curl -x post -h 'content -typ: Application/Json'
'http: // localhost: 8983/solr/linux_hint_collection/aktualizacja/json/docs'--data-binary ''

„ID”: „Iduye”,
„Nazwa”: „Shubham”
'

Oto, co wracamy z tym poleceniem:

Polecenie wstawienia danych do Solr

Dane można również wstawić za pomocą strony głównej Solr, na którą spojrzeliśmy wcześniej. Spróbujmy tego tutaj, aby wszystko było jasne:

Włóż dane za pośrednictwem strony głównej Solr

Ponieważ Solr ma doskonały sposób interakcji z interfejsami API HTTP, będziemy odtąd zademonstrować interakcję DB przy użyciu tych samych interfejsów API i nie skupi się zbytnio na wstawianiu danych za pośrednictwem strony internetowej Solr.

Wymień wszystkie kolekcje

Możemy również wymienić wszystkie kolekcje w Apache Solr za pomocą interfejsu API REST. Oto polecenie, których możemy użyć:

Wymień wszystkie kolekcje

curl http: // localhost: 8983/solr/admin/kolekcje?Actions = List & wt = json

Zobaczmy dane wyjściowe tego polecenia:

Widzimy tutaj dwie kolekcje, które istnieją w naszej instalacji Solr.

Uzyskaj obiekt według identyfikatora

Teraz zobaczmy, w jaki sposób możemy uzyskać dane z kolekcji Solr za pomocą konkretnego identyfikatora. Oto polecenie API REST:

Uzyskaj obiekt według identyfikatora

curl http: // localhost: 8983/solr/linux_hint_collection/get?id = IdUye

Oto, co wracamy z tym poleceniem:

Uzyskaj wszystkie dane

W naszym ostatnim interfejsie API REST zapytaliśmy dane za pomocą określonego identyfikatora. Tym razem otrzymamy wszystkie dane w naszej kolekcji Solr.

Uzyskaj obiekt według identyfikatora

curl http: // localhost: 8983/solr/linux_hint_collection/select?Q =*:*

Oto, co wracamy z tym poleceniem:

Zauważ, że użyliśmy „*:*” w parametrze zapytania. Określa to, że Solr powinien zwrócić wszystkie dane obecne w kolekcji. Nawet jeśli określiliśmy, że wszystkie dane powinny zostać zwrócone, Solr rozumie, że gromadzenie może zawierać dużą ilość danych i tak, Zwróci tylko pierwsze 10 dokumentów.

Usuwanie wszystkich danych

Do tej pory wszystkie interfejsy, które próbowaliśmy, używali formatu JSON. Tym razem spróbujemy formatu zapytania XML. Używanie formatu XML jest niezwykle podobne do JSON, ponieważ XML jest również samozadowolenia.

Wypróbujmy polecenie, aby usunąć wszystkie dane, które mamy w naszym kolekcji.

Usuwanie wszystkich danych

curl "http: // localhost: 8983/solr/linux_hint_collection/aktualizacja?commit = true "-h" Content-Type: Text/xml "--Data-Binary"*:*"

Oto, co wracamy z tym poleceniem:

Usuń wszystkie dane za pomocą zapytania XML

Teraz, jeśli ponownie spróbujemy uzyskać wszystkie dane, zobaczymy, że teraz nie są dostępne żadne dane:

Uzyskaj wszystkie dane

Całkowita liczba obiektów

Aby uzyskać ostateczne polecenie Curl, zobaczmy polecenie, z którymi możemy znaleźć liczbę obiektów obecnych w indeksie. Oto polecenie tego samego:

Całkowita liczba obiektów

curl http: // localhost: 8983/solr/linux_hint_collection/zapytanie?debug = zapytanie i q =*:*

Oto, co wracamy z tym poleceniem:

Licz liczbę obiektów

Wniosek

W tej lekcji przyjrzeliśmy się, w jaki sposób możemy używać zapytań Apache Solr i przekazywania za pomocą Curl zarówno w formacie JSON, jak i XML. Widzieliśmy również, że panel administracyjny Solr jest przydatny w sam.