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.

  • 🔍 Solr definert: Åpen kildekode, Java søkeserver bygget på Apache Lucene.
  • 🗂️ Indeksering: Bruker en invertert indeks for å lagre og raskt hente tekstdokumenter.
  • 🌐 REST API-er: Kommuniser via HTTP med JSON, XML eller CSV; nei Java påkrevd.
  • 🧩 Archilære: Spørreparser, forespørselsbehandler, svarskriver og oppdateringsbehandler.
  • 🇧🇷 Solr vs. Elasticsearch: Solr støtter XML/CSV/JSON og shard-deling; begge bruker Lucene.
  • ☁️ Utplassering: Frittstående modus eller SolrCloud med noder, shards, replikaer og klynger.

Apache Solr opplæring

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

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
  • Enkel tilgang til søk
  • Søknad lanseres
  • Nyheter og hendelsesvarsling
  • Enkel pålogging-autentisering
Forent klient
  • Forenklet presentasjon
  • Søk på tvers av alt innhold
  • Kun autorisert tilgang
  • Dokumentvisning
Instrumentdatasett
  • Optimalisert for forskere
  • Dataavhengige menyer
  • Spesialiserte rutenettfiltre
Reguleringsdokumenter
  • Designet for forskere
  • Rik metadatatilgang
  • Eksport av regneark
  • Se dokumentakselerator
Innebygd i PLM-applikasjonen
  • Tilbyr bedre søkeopplevelse enn en RDBMS kan gi
  • Senbindende sikkerhetsmodell
  • Dokumenthandlinger eksponert på verktøylinjen

Hvordan installerer jeg Apache Solr?

Trinn 1) Åpne nettsiden og fortsett å abonnere
Gå til dette link, Klikk "Fortsett å abonnere."

Installer Apache Solr

Trinn 2) Klikk på Godta vilkår
På neste side klikker du på Godta vilkår.

Installer Apache Solr

Trinn 3) Vent en stund
Deretter, vent en stund, og deretter blir forespørselen akseptert etter en stund.

Installer Apache Solr

Trinn 4) Fortsett til konfigurasjon
Oppdater siden og klikk "Fortsett til konfigurasjon"

Installer Apache Solr

Trinn 5) Fortsett til Launch
Behold innstillingene som standard og klikk "Fortsett til lansering."

Installer Apache Solr

Trinn 6) Behold standardinnstillingene
På neste side, Behold standardinnstillingene

  • Sørg for at du har nøkkelens pem-fil
  • Klikk "Start"

Installer Apache Solr

Du vil se denne suksessmeldingen

Installer Apache Solr

Trinn 7) Legg merke til den offentlige DNS
I EC2-konsollen, legg merke til den offentlige DNS-en til forekomsten din

Installer Apache Solr

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

Installer Apache Solr

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:

Installer Apache Solr

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

Spørsmål og svar

Begge er bygget på Apache Lucene. Solr er fullstendig åpen kildekode, støtter XML, CSV og JSON, tillater shard-deling og er godt dokumentert. Elasticsearch godtar bare JSON, støtter ikke shard-deling og velges ofte for sanntidsanalyse.

En Solr-kjerne er en indeks av tekster og felt utledet fra dokumenter, kombinert med Solr-konfigurasjonen. En enkelt Solr-instans kan være vert for én eller flere kjerner, som hver fungerer som en uavhengig Lucene-indeks.

Apache Solr er en REST-API-basert HTTP-wrapper rundt Apache Lucene, en Java fulltekstsøkemotor. Lucene leverer den inverterte indeksen, mens Solr legger til skalerbarhet, konfigurasjon, REST API-er og et administrasjonsgrensesnitt.

AI kan legge til semantisk og vektorsøk, læringsrangeringsmodeller og forståelse av spørringer i tillegg til Solr. Dette viser mer relevante resultater, håndterer synonymer og intensjon, og forbedrer autofullføring og anbefalinger.

Ja. AI kan anbefale skjemafelt, analysatorer og hurtigbufferinnstillinger, oppdage trege spørringer og foreslå strategier for sharding og replikering.ping Teamene finjusterer Solr for ytelse og relevans med mindre prøving og feiling.

Oppsummer dette innlegget med: