Apache Solr Tutorial: Hvad er Solr? Architecture
โก Smart opsummering
Apache Solr er et open source-program, Java-baseret sรธgeserver bygget pรฅ Apache Lucene. Den indekserer store mรฆngder tekstcentreret data og returnerer relevante resultater via REST API'er, og tilbyder fuldtekstsรธgning, facettering, skalerbarhed og bรฅde standalone- og SolrCloud-implementeringstilstande.

Hvad er Apache Solr?
Apache Solr er en open source sรธgeserverplatform skrevet i Java sprog af Apache software foundation. Den er meget skalerbar og klar til at implementere sรธgemaskine til at hรฅndtere en stor mรฆngde tekstcentrerede data. Formรฅlet med at bruge Apache Solr er at indeksere og sรธge i store mรฆngder af webindhold og give relevant indhold baseret pรฅ sรธgeforespรธrgsler.
Apache Solr er en REST-API-baseret HTTP-indpakning omkring fuldtekstsรธgemaskinen kaldet Apache Lucene. Et inverteret indeks er en liste over ord, hvor hver ordindgang linker til de dokumenter, den er gemt i. Pรฅ den mรฅde fรฅr du alle dokumenter til sรธgeforespรธrgslen "guru99" med en simpel 'get'-operation.
Historien om Apache Solr
- 1999: Doug Cutting udgav Lucene
- 2004: Solr blev udviklet pรฅ CNET af Yonik Seeley som et internt projekt i en del af virksomheden
- 2006: CNET udgiver kildekoden ved at donere den til Apache-softwaren Foundation
- 2008: Solr 1.3 blev udgivet med forbedrede sรธgefunktioner og ydeevneforbedringer
- 2010: Fusion af Lucene og Solr
- 2012: Solr version 4.0 blev frigivet med ny Solr Cloud-funktion
- 2016: Solr 6.0 blev frigivet, som tilbyder understรธttelse af udfรธrelse af parallelle SQL-forespรธrgsler
- 2017: Solr 7.0 blev udgivet, med tilfรธjelse af et autoskaleringsframework og JSON Facet API'en.
- 2019: Solr 8.0 blev udgivet med understรธttelse af indbyggede dokumenter og forbedrede streamingudtryk
- 2021: Lucene og Solr gik igen fra hinanden, og Solr blev et uafhรฆngigt Apache-topprojekt
- 2022: Solr 9.0 blev udgivet som den fรธrste version uafhรฆngigt af Lucene, med tilfรธjelse af vektorsรธgning og Kubernetes-understรธttelse.
- 2026: Solr 10.0 blev udgivet som den seneste stรธrre version
Funktioner i Apache Solr
Her er vigtige funktioner i Apache Solr:
- Automatisk belastningsbalancering
- Standardbaserede รฅbne grรฆnseflader โ XML, JSON og HTTP
- Anbefalinger og staveforslag understรธttes
- Understรธttelse af autofuldfรธrelse og geo-rumlig sรธgning
- Indbygget sikkerhed til godkendelse og autorisation
- Giver dig mulighed for at udfรธre en flersproget sรธgeordssรธgning
- Autofuldfรธrelse/forudsigelse af indtastning
- Batch- og streamingbehandling
- Det er nemt at bygge maskinlรฆringsmodeller
- Specielt optimeret til hรธjvolumen webtrafik
- Omfattende HTML-beundringsgrรฆnseflader
- Understรธtter bรฅde Schema og Schemaless konfiguration
- Facetteret sรธgning og filtrering
- Central konfiguration for hele Cluster
Nรธgletermer brugt i Apache Solr
Nu i denne Solr-sรธgemaskine-tutorial lรฆrer vi om nรธgleudtryk, der bruges i Apache Solr:
| Nรธgleterm | Beskrivelse |
|---|---|
| Solr Core | Solr Core kan defineres som et indeks over tekster og felter afledt af alle dokumenterne. รn Solr-instans kan have รฉn eller flere Solr-kerner. Core = en instans af Lucene Index + Solr-konfiguration |
| Solr Forekomst | Solr Instance er en instans en Solr, der kรธrer i Java Virtuel maskine (FMV). I Standalone-tilstand tilbyder den kun รฉn forekomst, mens du i skytilstand kan have en eller flere forekomster. |
| Indeksering | Indeksering er en metode til at tilfรธje dokumentets indhold til Solr Index. Apache Solr bruger Apache Lucene Inverted Index teknik. |
| Dokument | Det er en gruppe af felter og deres vรฆrdier. Et dokument er en grundlรฆggende enhed af data, der er lagret i Apache Core. En Apache-kerne kan indeholde et eller flere dokumenter. |
| Felt | Feltet er et nรธgle-vรฆrdi-par, der gemmer de faktiske data i et dokument. Nรธglen angiver feltnavnet, og vรฆrdien indeholder disse feltdata. Et dokument kan have et eller flere felter. Det bruges af Apache Solr til at indeksere dokumentindholdet. |
| Afslappende API'er | For at kommunikere med Solr er det ikke nรธdvendigt at have brugt Java programmering. I stedet giver Apache Solr afslappende tjenester at kommunikere med det. Du kan sende dokumenter og modtage resultater i forskellige filformater som JSON, XML og CSV. |
| Fulltekstsรธgning | Solr tilbyder funktioner til fuldtekstsรธgning sรฅsom tokens, sรฆtninger, stavekontrol, autofuldfรธrelse, jokertegn osv. |
| Admin Interface | Solr tilbyder en brugervenlig, brugervenlig, funktionsdrevet brugergrรฆnseflade. Ved at bruge grรฆnsefladen kan du udfรธre opgaver som at administrere logfiler, tilfรธje, slette, opdatere og sรธge i dokumenter. |
| Tekstcentreret og sorteret efter relevans | Apache Solr bruges til at sรธge i tekstdokumenter, og resultaterne leveres i henhold til brugerens forespรธrgsel. |
| Node | I Solr-skyen er hver enkelt instans kendt som en node. |
| Cluster | En klynge er en samling af noder. |
| Kollektion | En klynge har et logisk indeks, som ogsรฅ kaldes en samling. |
| shard | Det er et lille omrรฅde af samlingen, som tilbyder enkelte eller flere kopier af indekset. |
| Replica | En replika er en kopi af shard, som kรธrer i en node. |
| Leader | Det er en replika af shard, som sender anmodningerne fra Solr Cloud til resten af โโreplikaerne. |
Apache Solr Architecture
Lad os nu i denne Solr-sรธgevejledning lรฆre om Apache Solr Archilรฆre:

Apache Solr kompromitterer fรธlgende komponenter
Query
Forespรธrgselsparseren analyserer de forespรธrgsler, du skal sende til Solr. Den verificerer din forespรธrgsel for at kontrollere syntaktiske fejl. Efter parsningen af โโforespรธrgslerne oversรฆttes den til et format, som Lucene kender.
Request Handler
Anmodninger sendt til Apache Solr behandles af anmodningshandleren. Anmodningen kan vรฆre en forespรธrgsel eller anmodninger om indeksopdateringer. Du skal vรฆlge anmodningshandleren i henhold til dine krav. For at sende en anmodning til Solr skal du knytte handleren til en specifik [navn pรฅ adresse]. URL slutpunkt.
Respons Writer
En svarskriver vil generere formaterede output til inputforespรธrgsler. Det understรธtter forskellige formater som XML, JSON, CSV.etc. Du kan have forskellige svarskrivere til forskellige typer anmodninger.
Update Handler
Nรฅr du sender en opdateringsanmodning til Apache Solr, kรธres den gennem et sรฆt plugins, signaturer, logfรธring og indeksering. Denne proces kaldes en opdateringsanmodningsprocessor. Opdateringshรฅndtereren er ogsรฅ ansvarlig for รฆndringer som tilfรธjelse eller fjernelse.ping indgivet osv.
Apache Solr-applikationer
| Anvendelse | Brug |
|---|---|
| Intranet portal |
|
| Fรธdereret klient |
|
| Instrumentdatasรฆt |
|
| Lovgivningsmรฆssige dokumenter |
|
| Indlejret i PLM-applikation |
|
Hvordan installeres Apache Solr?
Trin 1) ร
bn hjemmesiden og fortsรฆt med at abonnere
Gรฅ til dette link, Klik pรฅ "Fortsรฆt med at abonnere".
Trin 2) Klik pรฅ Accepter vilkรฅr
Pรฅ nรฆste side, klik pรฅ Accepter vilkรฅr.
Trin 3) Vent et stykke tid
Dernรฆst Vent et stykke tid, og derefter accepteres anmodningen efter nogen tid.
Trin 4) Fortsรฆt til konfiguration
Opdater siden, og klik pรฅ "Fortsรฆt til konfiguration"
Trin 5) Fortsรฆt til lancering
Behold indstillingerne som standard, og klik pรฅ "Fortsรฆt til start."
Trin 6) Behold standardindstillingerne
Pรฅ nรฆste side, Behold indstillingerne som standard
- Sรธrg for, at du har nรธglens pem-fil
- Klik pรฅ "Start"
Du vil se denne succesmeddelelse
Trin 7) Bemรฆrk den offentlige DNS
I EC2-konsollen skal du notere den offentlige DNS for din instans
Trin 8) ร
bn nedenfor URL
For at fรฅ adgang til Solr skal du blot bruge URL
http://publicdns:8983
i vores tilfรฆlde bliver det
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
Bemรฆrk: Hvis du har problemer med at fรฅ adgang til instansen, skal du รฆndre indgรฅende og udgรฅende regler i din instans for at tillade al trafik som vist i nedenstรฅende Solr-forespรธrgselseksempel:
Elasticsearch vs. Apache Solr
| Driftsparametre | Apache Solr | Elastisk sรธgning |
|---|---|---|
| Natur | Det er et open source-projekt. | Ikke et open source-projekt. |
| Statisk status | Statisk i shema.xml | Statisk i elasticsearch.yml |
| dannet | XML, CSV, JSON | Kun JSON |
| Indeks | Kan genindlรฆses under kรธrsel med opsamling/kerneindlรฆsning | Defineret under oprettelse af indeks/type med et REST-kald |
| Dokumentation | Det er veldokumenteret. | Det er dรฅrligt dokumenteret. |
| Spaltning af skรฆrver | Mulig | Ikke muligt |
Fordele ved Apache Solr
- Hjรฆlper dig med at reducere den tid, det tager at finde information
- Det er en hurtig, enkel, kraftfuld og fleksibel sรธgemaskine
- Hjรฆlper dig med at gรธre dine produkter og tjenester mere tilgรฆngelige
- รg kundernes forbrug pรฅ en webapplikation
- Hjรฆlper dig med at forbedre brugeroplevelsen pรฅ webapplikationen for at รธge omsรฆtningen og fortjenesten
- Omfattende HTML-baseret administrationsgrรฆnseflade
- Fleksibel og tilpasningsdygtig med XML-konfiguration
- Udvidbart plugin Architecture
- Meget skalerbar, robust, fejltolerant sรธgemaskine
- Understรธtter distribueret, skygge, replikering, Clustering og Multi-Node Architecture
Ulemper ved Apache Solr
- Det er ikke et ACID-kompatibelt datalager
- Det er ikke nyttigt som et primรฆrt datalager. Kun nyttig som sekundรฆr datalager
- Tilbyder ikke support til transaktioner og distribuerede transaktioner
- Understรธtter ikke Joins og komplekse forespรธrgsler
- Ikke optimal for normaliserede data










