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 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 |
|
Forent klient |
|
Instrumentdatasett |
|
Reguleringsdokumenter |
|
Innebygd i PLM-applikasjonen |
|
Hvordan installerer jeg Apache Solr?
Trinn 1) Åpne nettsiden og fortsett å abonnere
Gå til dette link, Klikk "Fortsett å abonnere."
Trinn 2) Klikk på Godta vilkår
På neste side klikker du på Godta vilkår.
Trinn 3) Vent en stund
Deretter, vent en stund, og deretter blir forespørselen akseptert etter en stund.
Trinn 4) Fortsett til konfigurasjon
Oppdater siden og klikk "Fortsett til konfigurasjon"
Trinn 5) Fortsett til Launch
Behold innstillingene som standard og klikk "Fortsett til lansering."
Trinn 6) Behold standardinnstillingene
På neste side, Behold standardinnstillingene
- Sørg for at du har nøkkelens pem-fil
- Klikk "Start"
Du vil se denne suksessmeldingen
Trinn 7) Legg merke til den offentlige DNS
I EC2-konsollen, legg merke til den offentlige DNS-en til forekomsten din
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
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:
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