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: