Apache Solr

Apache Solr-vejledning

Apache Solr-vejledning
I denne lektion vil vi se, hvordan vi kan bruge Apache Solr til at gemme data, og hvordan vi kan køre forskellige forespørgsler på det.

Hvad er Apache Solr

Apache Solr er en af ​​de mest populære NoSQL-databaser, som kan bruges til at gemme data og forespørge om dem i næsten realtid. Den er baseret på Apache Lucene og er skrevet i Java. Ligesom Elasticsearch understøtter det databaseforespørgsler via REST API'er. Dette betyder, at vi kan bruge enkle HTTP-opkald og bruge HTTP-metoder som GET, POST, PUT, SLET osv. for at få adgang til data. Det giver også en mulighed for at hente data i form af XML eller JSON gennem REST API'erne.

Arkitektur: Apache Solr

Før vi kan begynde at arbejde med Apache Solr, skal vi forstå de komponenter, der udgør Apache Solr. Lad os se på nogle komponenter, den har:

Apache Solr-arkitektur

Bemærk, at kun hovedkomponenter til Solr er vist i ovenstående figur. Lad os også forstå deres funktionalitet her:

Kom godt i gang med Apache Solr

For at begynde at bruge Apache Solr skal den være installeret på maskinen. For at gøre dette skal du læse Installer Apache Solr på Ubuntu.

Sørg for, at du har en aktiv Solr-installation, hvis du vil prøve eksempler, vi præsenterer senere i lektionen, og admin-siden er tilgængelig på localhost:

Apache Solr-hjemmeside

Indsættelse af data

For at starte, lad os overveje en samling i Solr, som vi kalder som linux_hint_collection. Der er ikke behov for eksplicit at definere denne samling, som når vi indsætter det første objekt, oprettes samlingen automatisk. Lad os prøve vores første REST API-opkald for at indsætte et nyt objekt i den navngivne samling linux_hint_collection.

Indsættelse af data

curl -X POST -H 'Content-Type: application / json'
'http: // localhost: 8983 / solr / linux_hint_collection / update / json / docs' --data-binær '

"id": "iduye",
"name": "Shubham"
'

Her er hvad vi kommer tilbage med denne kommando:

Kommando til at indsætte data i Solr

Data kan også indsættes ved hjælp af Solr-hjemmesiden, vi kiggede på tidligere. Lad os prøve dette her, så tingene er klare:

Indsæt data via Solr-hjemmesiden

Da Solr har en glimrende måde at interagere med HTTP RESTful API'er, demonstrerer vi DB-interaktion ved hjælp af de samme API'er fra nu af og vil ikke fokusere meget på at indsætte data via Solr-websiden.

Liste over alle samlinger

Vi kan også liste alle samlinger i Apache Solr ved hjælp af en REST API. Her er kommandoen, vi kan bruge:

Liste over alle samlinger

krølle http: // localhost: 8983 / solr / admin / samlinger?handlinger = LISTE & wt = json

Lad os se output for denne kommando:

Vi ser to samlinger her, der findes i vores Solr-installation.

Få objekt efter ID

Lad os nu se, hvordan vi kan FÅ data fra Solr-indsamling med et specifikt ID. Her er REST API-kommandoen:

Få objekt efter ID

krølle http: // localhost: 8983 / solr / linux_hint_collection / get?id = iduye

Her er hvad vi kommer tilbage med denne kommando:

Få alle data

I vores sidste REST API forespurgte vi data ved hjælp af et specifikt ID. Denne gang får vi alle data til stede i vores Solr-samling.

Få objekt efter ID

krølle http: // localhost: 8983 / solr / linux_hint_collection / select?q = *: *

Her er hvad vi kommer tilbage med denne kommando:

Bemærk, at vi har brugt '*: *' i forespørgselsparameteren. Dette specificerer, at Solr skal returnere alle data, der er til stede i samlingen. Selvom vi har specificeret, at alle data skal returneres, forstår Solr, at samlingen muligvis har en stor mængde data i sig og så, det returnerer kun de første 10 dokumenter.

Sletning af alle data

Indtil nu brugte alle API'er, vi prøvede, et JSON-format. Denne gang vil vi prøve XML-forespørgselsformat. Brug af XML-format ligner meget JSON, da XML også er selvbeskrivende.

Lad os prøve en kommando for at slette alle data, vi har i vores samling.

Sletning af alle data

krølle "http: // localhost: 8983 / solr / linux_hint_collection / update?commit = true "-H" Content-Type: text / xml "--data-binary" *: * "

Her er hvad vi kommer tilbage med denne kommando:

Slet alle data ved hjælp af XML-forespørgsel

Hvis vi igen prøver at få alle data, ser vi, at der ikke er nogen data tilgængelige nu:

Få alle data

Samlet antal objekter

For en endelig CURL-kommando, lad os se en kommando, hvormed vi kan finde antallet af objekter, der er til stede i et indeks. Her er kommandoen for det samme:

Samlet antal objekter

krølle http: // localhost: 8983 / solr / linux_hint_collection / query?debug = forespørgsel & q = *: *

Her er hvad vi kommer tilbage med denne kommando:

Tæl antal objekter

Konklusion

I denne lektion så vi på, hvordan vi kan bruge Apache Solr og videresende forespørgsler ved hjælp af curl i både JSON- og XML-format. Vi så også, at Solr-adminpanelet er nyttigt på samme måde som alle curl-kommandoer, vi studerede.

Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...
Nyttige værktøjer til Linux-spillere
Hvis du kan lide at spille spil på Linux, er chancerne for, at du måske har brugt apps og hjælpeprogrammer som Wine, Lutris og OBS Studio for at forbe...
HD Remastered-spil til Linux, der aldrig tidligere havde haft en Linux-udgivelse
Mange spiludviklere og udgivere kommer med HD-remaster af gamle spil for at forlænge franchisens levetid. Venligst fans, der anmoder om kompatibilitet...