Apache Solr

Apache Solr-handledning

Apache Solr-handledning
I den här lektionen kommer vi att se hur vi kan använda Apache Solr för att lagra data och hur vi kan köra olika frågor på den.

Vad är Apache Solr

Apache Solr är en av de mest populära NoSQL-databaserna som kan användas för att lagra data och fråga dem i realtid. Den är baserad på Apache Lucene och är skriven i Java. Precis som Elasticsearch stöder den databasfrågor via REST API: er. Det betyder att vi kan använda enkla HTTP-samtal och använda HTTP-metoder som GET, POST, PUT, DELETE etc. för att komma åt data. Det ger också ett alternativ att få data i form av XML eller JSON via REST API: er.

Arkitektur: Apache Solr

Innan vi kan börja arbeta med Apache Solr måste vi förstå komponenterna som utgör Apache Solr. Låt oss ta en titt på några komponenter som den har:

Apache Solr-arkitektur

Observera att endast huvudkomponenter för Solr visas i figuren ovan. Låt oss också förstå deras funktionalitet här:

Komma igång med Apache Solr

För att börja använda Apache Solr måste den vara installerad på maskinen. För att göra detta, läs Installera Apache Solr på Ubuntu.

Se till att du har en aktiv Solr-installation om du vill prova exempel som vi presenterar senare i lektionen och admin-sidan kan nås på localhost:

Apache Solr-hemsida

Infoga data

För att börja, låt oss överväga en samling i Solr som vi kallar linux_hint_collection. Det finns inget behov av att definiera denna samling uttryckligen som när vi infogar det första objektet kommer samlingen att göras automatiskt. Låt oss prova vårt första REST API-samtal för att infoga ett nytt objekt i namnet på samlingen linux_hint_collection.

Infoga data

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

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

Här är vad vi får tillbaka med det här kommandot:

Kommando att infoga data i Solr

Data kan också infogas med hjälp av Solr-hemsidan vi tittade på tidigare. Låt oss prova det här så att saker och ting är tydliga:

Infoga data via Solr-hemsidan

Eftersom Solr har ett utmärkt sätt att interagera med HTTP RESTful API: er kommer vi att demonstrera DB-interaktion med samma API: er framöver och kommer inte att fokusera mycket på att infoga data via Solr-webbsidan.

Lista alla samlingar

Vi kan också lista alla samlingar i Apache Solr med ett REST API. Här är kommandot vi kan använda:

Lista alla samlingar

curl http: // localhost: 8983 / solr / admin / collection?actions = LIST & wt = json

Låt oss se utdata för det här kommandot:

Vi ser två samlingar här som finns i vår Solr-installation.

Få objekt efter ID

Låt oss nu se hur vi kan få data från Solr-samlingen med ett specifikt ID. Här är REST API-kommandot:

Få objekt efter ID

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

Här är vad vi får tillbaka med det här kommandot:

Få all data

I vårt senaste REST API frågade vi data med ett specifikt ID. Den här gången kommer vi att få all information närvarande i vår Solr-samling.

Få objekt efter ID

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

Här är vad vi får tillbaka med det här kommandot:

Observera att vi har använt '*: *' i frågeparametern. Detta anger att Solr ska returnera all data som finns i samlingen. Även om vi har specificerat att all data ska returneras förstår Solr att samlingen kan ha en stor mängd data i sig och så, den returnerar bara de första tio dokumenten.

Ta bort all data

Hittills har alla API: er vi försökt använt ett JSON-format. Den här gången kommer vi att försöka XML-frågeformat. Att använda XML-format liknar extremt JSON eftersom XML också är självbeskrivande.

Låt oss prova ett kommando för att ta bort all data vi har i vår samling.

Ta bort all data

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

Här är vad vi får tillbaka med det här kommandot:

Ta bort all data med XML-fråga

Om vi ​​igen försöker få all data kommer vi att se att ingen data är tillgänglig nu:

Få all data

Totalt antal objekt

För ett slutligt CURL-kommando, låt oss se ett kommando med vilket vi kan hitta antalet objekt som finns i ett index. Här är kommandot för samma:

Totalt antal objekt

curl http: // localhost: 8983 / solr / linux_hint_collection / query?felsöka = fråga & q = *: *

Här är vad vi får tillbaka med det här kommandot:

Räkna antalet objekt

Slutsats

I den här lektionen tittade vi på hur vi kan använda Apache Solr och skicka frågor med curl i både JSON- och XML-format. Vi såg också att Solr-adminpanelen är användbar på samma sätt som alla curl-kommandon vi studerade.

Hur man visar OSD-överlägg i helskärms Linux-appar och -spel
Att spela helskärmsspel eller använda appar i distraktionsfritt helskärmsläge kan avskärma dig från relevant systeminformation som syns i en panel ell...
Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...