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.

  • ๐Ÿ” Solr defineret: ร…ben kildekode, Java sรธgeserver bygget pรฅ Apache Lucene.
  • ๐Ÿ—‚๏ธ Indeksering: Bruger et inverteret indeks til at gemme og hurtigt hente tekstdokumenter.
  • ๐ŸŒ REST API'er: Kommuniker via HTTP med JSON, XML eller CSV; nej Java krรฆves.
  • ๐Ÿงฉ Archilรฆre: Forespรธrgselsparser, anmodningshรฅndterer, svarforfatter og opdateringshรฅndterer.
  • โš–๏ธ Solr vs. Elasticsearch: Solr understรธtter XML/CSV/JSON og shard-splitting; begge bruger Lucene.
  • โ˜๏ธ Implementering: Standalone-tilstand eller SolrCloud med noder, shards, replikaer og klynger.

Apache Solr tutorial

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 Architecture
Apache Solr Architecture

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
  • Nem adgang til sรธgning
  • App lancering
  • Nyheder og begivenhedsnotifikationer
  • Single sign-on-godkendelse
Fรธdereret klient
  • Forenklet prรฆsentation
  • Sรธg pรฅ tvรฆrs af alt indhold
  • Kun autoriseret adgang
  • Dokumentvisning
Instrumentdatasรฆt
  • Optimeret til forskere
  • Dataafhรฆngige menuer
  • Specialiserede gitterfiltre
Lovgivningsmรฆssige dokumenter
  • Designet til forskere
  • Rig metadataadgang
  • Eksport af regneark
  • Se dokumentaccelerator
Indlejret i PLM-applikation
  • Tilbyder en bedre sรธgeoplevelse end et RDBMS kunne give
  • Sen-bindende sikkerhedsmodel
  • Dokumenthandlinger afslรธret pรฅ vรฆrktรธjslinjen

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".

Installer Apache Solr

Trin 2) Klik pรฅ Accepter vilkรฅr
Pรฅ nรฆste side, klik pรฅ Accepter vilkรฅr.

Installer Apache Solr

Trin 3) Vent et stykke tid
Dernรฆst Vent et stykke tid, og derefter accepteres anmodningen efter nogen tid.

Installer Apache Solr

Trin 4) Fortsรฆt til konfiguration
Opdater siden, og klik pรฅ "Fortsรฆt til konfiguration"

Installer Apache Solr

Trin 5) Fortsรฆt til lancering
Behold indstillingerne som standard, og klik pรฅ "Fortsรฆt til start."

Installer Apache Solr

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"

Installer Apache Solr

Du vil se denne succesmeddelelse

Installer Apache Solr

Trin 7) Bemรฆrk den offentlige DNS
I EC2-konsollen skal du notere den offentlige DNS for din instans

Installer Apache Solr

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

Installer Apache Solr

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:

Installer Apache Solr

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

Ofte Stillede Spรธrgsmรฅl

Begge er bygget pรฅ Apache Lucene. Solr er fuldt open source, understรธtter XML, CSV og JSON, tillader shard-opdeling og er veldokumenteret. Elasticsearch accepterer kun JSON, understรธtter ikke shard-opdeling og vรฆlges ofte til realtidsanalyse.

En Solr-kerne er et indeks af tekster og felter afledt af dokumenter, kombineret med dens Solr-konfiguration. En enkelt Solr-instans kan vรฆre vรฆrt for en eller flere kerner, der hver fungerer som et uafhรฆngigt Lucene-indeks.

Apache Solr er en REST-API-baseret HTTP-wrapper omkring Apache Lucene, en Java Sรธgemaskine til fuldtekstsรธgning. Lucene leverer det inverterede indeks, mens Solr tilfรธjer skalerbarhed, konfiguration, REST API'er og en administratorgrรฆnseflade.

AI kan tilfรธje semantisk og vektorbaseret sรธgning, learning-to-rank-modeller og forstรฅelse af forespรธrgsler oven i Solr. Dette viser mere relevante resultater, hรฅndterer synonymer og intentioner og forbedrer autofuldfรธrelse og anbefalinger.

Ja. AI kan anbefale skemafelter, analysatorer og cacheindstillinger, registrere langsomme forespรธrgsler og foreslรฅ sharding- og replikeringsstrategier.ping Teams finjusterer Solr for ydeevne og relevans med mindre forsรธg og fejl.

Opsummer dette indlรฆg med: