Apache Solr Tutorial: Hva er Solr? Architecture
โก Smart oppsummering
Apache Solr er en รฅpen kildekode, Java-basert sรธkeserver bygget pรฅ Apache Lucene. Den indekserer store mengder tekstsentriske data og returnerer relevante resultater via REST API-er, og tilbyr fulltekstsรธk, fasettering, skalerbarhet og bรฅde frittstรฅende og SolrCloud-distribusjonsmoduser.

Hva er Apache Solr?
Apache Solr er en รฅpen kildekode sรธkeserverplattform skrevet i Java sprรฅk av Apache-programvarestiftelsen. Den er svรฆrt skalerbar og klar til รฅ distribuere sรธkemotor for รฅ hรฅndtere et stort volum tekstsentriske data. Hensikten med รฅ bruke Apache Solr er รฅ indeksere og sรธke i store mengder nettinnhold og gi relevant innhold basert pรฅ sรธk.
Apache Solr er en REST-API-basert HTTP-innpakning rundt fulltekstsรธkemotoren kalt Apache Lucene. En invertert indeks er en liste over ord der hver ordoppfรธring lenker til dokumentene den er lagret i. Pรฅ den mรฅten fรฅr du alle dokumenter for sรธket "guru99" med enkel 'get'-operasjon.
Historien om Apache Solr
- 1999: Doug Cutting publiserte Lucene
- 2004: Solr ble utviklet pรฅ CNET av Yonik Seeley som et delbedrifts internt prosjekt
- 2006: CNET publiserer kildekoden ved รฅ donere den til Apache-programvaren Foundation
- 2008: Solr 1.3 ble utgitt med forbedrede sรธkefunksjoner og ytelsesforbedringer
- 2010: Sammenslรฅing av Lucene og Solr
- 2012: Solr versjon 4.0 ble utgitt, med ny Solr Cloud-funksjon
- 2016: Solr 6.0, ble utgitt som tilbyr stรธtte for utfรธrelse av parallelle SQL-spรธrringer
- 2017: Solr 7.0 ble utgitt, med et autoskaleringsrammeverk og JSON Facet API.
- 2019: Solr 8.0 ble utgitt med stรธtte for nestede dokumenter og forbedrede strรธmmeuttrykk
- 2021: Lucene og Solr skilte seg igjen, og Solr ble et uavhengig Apache-toppprosjekt
- 2022: Solr 9.0 ble utgitt som den fรธrste versjonen uavhengig av Lucene, med stรธtte for vektorsรธk og Kubernetes.
- 2026: Solr 10.0 ble utgitt som den nyeste hovedversjonen
Funksjoner i Apache Solr
Her er viktige funksjoner i Apache Solr:
- Automatisk lastbalansering
- Standardbaserte รฅpne grensesnitt โ XML, JSON og HTTP
- Anbefalinger og staveforslag stรธttes
- Stรธtte for automatisk fullfรธring og geo-romlig sรธk
- Innebygd sikkerhet for autentisering og autorisasjon
- Lar deg utfรธre et flersprรฅklig nรธkkelordsรธk
- Autofullfรธring/Type-ahead Prediction
- Batch- og streaming-behandling
- Det er enkelt รฅ bygge maskinlรฆringsmodeller
- Spesielt optimalisert for hรธyvolum netttrafikk
- Omfattende HTML-beundringsgrensesnitt
- Stรธtter bรฅde Schema og Schemaless konfigurasjon
- Fasettsรธk og filtrering
- Sentral konfigurasjon for hele Cluster
Nรธkkeltermer brukt i Apache Solr
Nรฅ i denne Solr-sรธkemotoropplรฆringen vil vi lรฆre om nรธkkelbegreper som brukes i Apache Solr:
| Nรธkkelbegrep | Tekniske beskrivelser |
|---|---|
| Solr Core | Solr Core kan defineres som en indeks av tekster og felt utledet fra alle dokumentene. รn Solr-instans kan ha รฉn eller flere Solr-kjerner. Core = en instans av Lucene Index + Solr-konfigurasjon |
| Solr-forekomst | Solr Instance er en instans en Solr som kjรธrer i Java Virtuell maskin (JVM). I frittstรฅende modus tilbyr den bare รฉn forekomst, mens du i skymodus kan ha รฉn eller flere forekomster. |
| Indeksering | Indeksering er en metode for รฅ legge dokumentets innhold til Solr Index. Apache Solr bruker Apache Lucene Inverted Index-teknikk. |
| Document | Det er en gruppe av felt og deres verdier. Et dokument er en grunnleggende enhet av data som er lagret i Apache Core. En Apache-kjerne kan inneholde ett eller flere dokumenter. |
| Felt | Feltet er et nรธkkel-verdi-par som lagrer de faktiske dataene i et dokument. Nรธkkel angir feltnavnet, og verdien som inneholder disse feltdataene. Et dokument kan ha ett eller flere felt. Det brukes av Apache Solr til รฅ indeksere dokumentinnholdet. |
| Avslappende APIer | For รฅ kommunisere med Solr er det ikke nรธdvendig รฅ ha brukt Java programmering. I stedet tilbyr Apache Solr avslappende tjenester รฅ kommunisere med det. Du kan sende dokumenter og motta resultater i ulike filformater som JSON, XML og CSV. |
| Fulltekstsรธk | Solr tilbyr funksjoner for fulltekstsรธk som tokens, setninger, stavekontroll, autofullfรธring, jokertegn, etc. |
| Administrasjonsgrensesnitt | Solr tilbyr et brukervennlig, brukervennlig, funksjonsdrevet brukergrensesnitt. Ved รฅ bruke grensesnittet kan du utfรธre oppgaver som รฅ administrere logger, legge til, slette, oppdatere og sรธke i dokumenter. |
| Tekstsentrisk og sortert etter relevans | Apache Solr brukes til รฅ sรธke i tekstdokumenter, og resultatene leveres i henhold til brukerens forespรธrsel. |
| Node | I Solr-skyen er hver enkelt forekomst kjent som en node. |
| Cluster | En klynge er en samling av noder. |
| Samling | En klynge har en logisk indeks som ogsรฅ kalles en samling. |
| Shard | Det er et lite omrรฅde av samlingen som tilbyr enkle eller flere kopier av indeksen. |
| Replica | En replika er en kopi av shard som kjรธrer i en node. |
| Leder | Det er en kopi av shard, som sender forespรธrslene fra Solr Cloud for resten av replikaene. |
Apache Solr Architecture
Nรฅ i denne Solr-sรธkeveiledningen, la oss lรฆre om Apache Solr Archilรฆre:

Apache Solr kompromitterer fรธlgende komponenter
Query
Spรธrreparseren analyserer spรธrringene du mรฅ sende til Solr. Den verifiserer spรธrringen din for รฅ sjekke syntaktiske feil. Etter at spรธrringene er analysert, oversettes de til et format som er kjent av Lucene.
Forespรธrselsbehandler
Forespรธrsler som sendes til Apache Solr behandles av forespรธrselsbehandleren. Forespรธrselen kan vรฆre en spรธrreforespรธrsel eller forespรธrsler om indeksoppdatering. Du mรฅ velge forespรธrselsbehandler i henhold til dine krav. For รฅ sende en forespรธrsel til Solr mรฅ du tilordne behandleren til en spesifikk [enhet/prosess/etc.]. URL sluttpunkt.
Respons Writer
En svarskriver vil generere formaterte utdata for inndataspรธrringer. Den stรธtter ulike formater som XML, JSON, CSV.etc. Du kan ha forskjellige svarskrivere for forskjellige typer forespรธrsler.
Oppdateringsbehandler
Nรฅr du sender en oppdateringsforespรธrsel til Apache Solr, kjรธres den gjennom et sett med plugins, signaturer, logging og indeksering. Denne prosessen er kjent som en oppdateringsforespรธrselsprosessor. Oppdateringsbehandleren er ogsรฅ ansvarlig for endringer som รฅ legge til eller fjerneping innlevert, osv.
Apache Solr-applikasjoner
| Sรธknad | bruk |
|---|---|
| Intranettportal |
|
| Forent klient |
|
| Instrumentdatasett |
|
| Reguleringsdokumenter |
|
| Innebygd i PLM-applikasjonen |
|
Hvordan installerer jeg Apache Solr?
Trinn 1) ร
pne nettsiden og fortsett รฅ abonnere
Gรฅ til dette link, Klikk "Fortsett รฅ abonnere."
Trinn 2) Klikk pรฅ Godta vilkรฅr
Pรฅ neste side klikker du pรฅ Godta vilkรฅr.
Trinn 3) Vent en stund
Deretter, vent en stund, og deretter blir forespรธrselen akseptert etter en stund.
Trinn 4) Fortsett til konfigurasjon
Oppdater siden og klikk "Fortsett til konfigurasjon"
Trinn 5) Fortsett til Launch
Behold innstillingene som standard og klikk "Fortsett til lansering."
Trinn 6) Behold standardinnstillingene
Pรฅ neste side, Behold standardinnstillingene
- Sรธrg for at du har nรธkkelens pem-fil
- Klikk "Start"
Du vil se denne suksessmeldingen
Trinn 7) Legg merke til den offentlige DNS
I EC2-konsollen, legg merke til den offentlige DNS-en til forekomsten din
Trinn 8) ร
pne nedenfor URL
For รฅ fรฅ tilgang til Solr, bruk ganske enkelt URL
http://publicdns:8983
i vรฅrt tilfelle blir det
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
Merk: Hvis du har problemer med รฅ fรฅ tilgang til forekomsten, endre inngรฅende og utgรฅende regler i forekomsten din for รฅ tillate all trafikk som vist i eksempelet pรฅ Solr-spรธrringen nedenfor:
Elasticsearch vs. Apache Solr
| Parametre | Apache Solr | Elastisk sรธk |
|---|---|---|
| Natur | Det er et รฅpen kildekode-prosjekt. | Ikke et รฅpen kildekodeprosjekt. |
| Statisk status | Statisk i shema.xml | Statisk i elasticsearch.yml |
| dannet | XML, CSV, JSON | Bare JSON |
| Index | Kan lastes pรฅ nytt under kjรธretid med samling/kjerneinnlasting | Definert under opprettelse av indeks/type med et REST-kall |
| Teknisk dokumentasjon | Det er godt dokumentert. | Det er dรฅrlig dokumentert. |
| Splitting av skรฅr | Mulig | Ikke mulig |
Fordeler med Apache Solr
- Hjelper deg med รฅ redusere tiden det tar รฅ finne informasjon
- Det er en rask, enkel, kraftig og fleksibel sรธkemotor
- Hjelper deg med รฅ gjรธre produktene og tjenestene dine mer tilgjengelige
- รk kundenes forbruk pรฅ en nettapplikasjon
- Hjelper deg med รฅ forbedre brukeropplevelsen pรฅ nettapplikasjonen for รฅ รธke inntekter og fortjeneste
- Omfattende HTML-basert administrasjonsgrensesnitt
- Fleksibel og tilpasningsdyktig med XML-konfigurasjon
- Utvidbar plugin Architecture
- Svรฆrt skalerbar, robust, feiltolerant sรธkemotor
- Stรธtter distribuert, skyggelegging, replikering, Clustering og Multi-Node Architecture
Ulemper med Apache Solr
- Det er ikke et ACID-kompatibelt datalager
- Det er ikke nyttig som et primรฆrt datalager. Kun nyttig som sekundรฆr datalager
- Tilbyr ikke stรธtte for transaksjoner og distribuerte transaksjoner
- Stรธtter ikke sammenfรธyninger og komplekse sรธk
- Ikke optimalt for normaliserte data










