Hva er Apache Solr
Apache Solr er en av de mest populære NoSQL-databasene som kan brukes til å lagre data og spørre dem i nær sanntid. Det er basert på Apache Lucene og er skrevet i Java. Akkurat som Elasticsearch, støtter den databasespørsmål gjennom REST APIer. Dette betyr at vi kan bruke enkle HTTP -anrop og bruke HTTP -metoder som Get, Post, Put, Delete etc. for å få tilgang til data. Det gir også et alternativ for å få data i form av XML eller JSON gjennom REST API -er.
Arkitektur: Apache Solr
Før vi kan begynne å jobbe med Apache Solr, må vi forstå komponentene som utgjør Apache Solr. La oss se på noen komponenter den har:
Apache Solr Architecture
Merk at bare hovedkomponenter for Solr er vist i figur ovenfor. La oss forstå deres funksjonalitet også her:
Komme i gang med Apache Solr
For å begynne å bruke Apache Solr, må den installeres på maskinen. For å gjøre dette, les install Apache Solr på Ubuntu.
Forsikre deg om at du har en aktiv SOLR -installasjon hvis du vil prøve eksempler vi presenterer senere på leksjonen og admin -siden er tilgjengelig på Localhost:
Apache Solr hjemmeside
Sette inn data
For å starte, la oss vurdere en samling i Solr som vi kaller som linux_hint_collection. Det er ikke nødvendig å eksplisitt definere denne samlingen som når vi setter inn det første objektet, samlingen blir laget automatisk. La oss prøve vår første REST API -samtale for å sette inn et nytt objekt i samlingen som heter linux_hint_collection.
Sette inn data
Curl -x Post -h 'Content -Type: Application/JSON'
'http: // localhost: 8983/solr/linux_hint_collection/update/json/docs'--data-binary '
"Id": "Iduye",
"Navn": "Shubham"
'
Dette er hva vi kommer tilbake med denne kommandoen:
Kommando for å sette inn data i Solr
Data kan også settes inn ved hjelp av Solr -hjemmesiden vi så på tidligere. La oss prøve dette her slik at ting er klart:
Sett inn data via Solr -hjemmesiden
Siden Solr har en utmerket måte å samspill med HTTP RESTful APIer, vil vi demonstrere DB -interaksjon ved å bruke de samme API -ene fra nå og fremover og vil ikke fokusere mye på å sette inn data gjennom Solr -websiden.
Liste opp alle samlinger
Vi kan liste opp alle samlinger i Apache Solr ved hjelp av et REST API også. Her er kommandoen vi kan bruke:
Liste opp alle samlinger
Curl http: // localhost: 8983/solr/admin/collections?Handlinger = Liste & WT = JSON
La oss se utdataene for denne kommandoen:
Vi ser to samlinger her som finnes i vår Solr -installasjon.
Få objekt etter ID
La oss nå se hvordan vi kan få data fra SOLR -samling med en bestemt ID. Her er REST API -kommandoen:
Få objekt etter ID
Curl http: // localhost: 8983/solr/linux_hint_collection/get?id = iduye
Dette er hva vi kommer tilbake med denne kommandoen:
Få alle data
I vår siste REST API spurte vi data ved hjelp av en spesifikk ID. Denne gangen vil vi få alle data til stede i Solr -samlingen vår.
Få objekt etter ID
Curl http: // localhost: 8983/solr/linux_hint_collection/Select?q =*:*
Dette er hva vi kommer tilbake med denne kommandoen:
Legg merke til at vi har brukt '*:*' i spørringsparameter. Dette spesifiserer at Solr skal returnere alle data som er til stede i samlingen. Selv om vi har spesifisert at alle data skal returneres, forstår Solr at samlingen kan ha stor mengde data i den og slik, Det vil bare returnere de første 10 dokumentene.
Slette alle data
Til nå brukte alle API -er vi prøvde et JSON -format. Denne gangen vil vi prøve XML -spørringsformat. Å bruke XML-format er ekstremt likt JSON da XML også er selvbeskrivende.
La oss prøve en kommando for å slette alle data vi har i samlingen vår.
Slette alle data
Curl "http: // localhost: 8983/solr/linux_hint_collection/oppdatering?Commit = True "-H" Content-Type: Text/XML "--data-Binary"*:*"
Dette er hva vi kommer tilbake med denne kommandoen:
Slett alle data ved hjelp av XML -spørring
Hvis vi igjen prøver å få alle data, vil vi se at ingen data er tilgjengelige nå:
Få alle data
Total objektantall
La oss se en kommando som vi kan finne antallet objekter som er til stede i en indeks for en endelig Curl -kommando. Her er kommandoen for det samme:
Total objektantall
Curl http: // localhost: 8983/solr/linux_hint_collection/spørring?Debug = Query & Q =*:*
Dette er hva vi kommer tilbake med denne kommandoen:
Teller antall objekter
Konklusjon
I denne leksjonen så vi på hvordan vi kan bruke Apache Solr og Pass -spørsmål ved hjelp av Curl i både JSON og XML -format. Vi så også at Solr Admin -panelet er nyttig på samme måte som alle krøllekommandoer vi studerte.