Apache Solr Tutorial: Hva er Solr? Archikonstruksjon og installasjon

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

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 over tekster og felter hentet fra alle dokumentene. En Solr-instans kan ha enkelt eller flere Solr-kjerner.

Core = en forekomst 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økkelverdi-par som lagrer de faktiske dataene i et dokument. Nøkkel angir feltnavnet og verdien som inneholder feltdataene. Et dokument kan ha ett eller flere felt. Den brukes av Apache Solr for å 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ørringsparseren analyserer spørringene du må sende til Solr. Den verifiserer søket ditt for å sjekke syntaktiske feil. Etter å ha analysert spørringene, oversettes det til et format som er kjent av Lucene.

Forespørselsbehandler

Forespørselen som sendes til Apache Solr behandles av forespørselsbehandleren. Forespørselen kan være en spørringsforespørsel eller indeksoppdateringsforespørsler. Du må velge forespørselsbehandler i henhold til dine krav. For å sende en forespørsel til Solr, må du tilordne behandleren til et spesifikt URL-endepunkt.

Svarforfatter

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, signatur, logging, indeksering. Denne prosessen er kjent som prosessor for oppdateringsforespørsel. Oppdateringsbehandler er også ansvarlig for modifikasjoner som å legge til eller slette arkiverte, etc.

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 under URL
For å få tilgang til Solr, bruk ganske enkelt URL-en

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

Sammendrag

  • Apache Solr er en åpen kildekode REST-API basert søkeserver
  • Apache Solr ble utviklet på CNET av Yonik Seeley som et delbedrifts internt prosjekt
  • Apache Solr tilbyr funksjoner som Auto-fullføring og Geo-Spatial Search
  • Solr Core, Solr Instance, Indexing, Document, Restful APIs, Full-text search, Admin Interface, etc. er noen nøkkelbegreper som brukes i Apache Solr
  • Spørrings-, forespørselshåndterings-, forespørselsforfatter- og oppdateringsbehandlere er noen av de viktige komponentene i Apache Solr
  • Intranettportal, forent klient, instrumentdatasett, forskriftsdokumenter, innebygd i PLM-applikasjoner er nyttige Apache Solr-applikasjoner
  • Apache Solr er godt dokumentert sammenlignet med elastisk søk ​​som er dårlig dokumentert
  • Den største fordelen med Apache Solr er at den hjelper deg å redusere tiden det tar å finne informasjon
  • Den største ulempen med denne applikasjonen Det er ikke et ACID-kompatibelt datalager