Apache Solr Tutorial: Hvad er Solr? Archikonstruktion og installation

Hvad er Apache Solr?

Apache Solr er en open source søgeserverplatform skrevet på 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 simpelt "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

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 dokumenter. En Solr-instans kan have enkelte eller flere Solr-kerner.

Core = en forekomst af Lucene Index + Solr-konfiguration

Solr Forekomst Solr Instance er en instans en Solr, der kører i Java Virtual Machine (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øgle angiver feltnavnet, og værdien indeholder de 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 A cluster er en samling af noder.
Samling A cluster 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 går på kompromis med following komponenter

Query

Forespørgselsparseren analyserer de forespørgsler, som du skal sende til Solr. Det verificerer din forespørgsel for at kontrollere syntaktiske fejl. Efter at have parset forespørgslerne, oversættes det til et format, som er kendt af Lucene.

Request Handler

Forespørgslen, der sendes til Apache Solr, behandles af anmodningsbehandleren. Anmodningen kan være en forespørgselsanmodning eller indeksopdateringsanmodninger. Du skal vælge anmodningsbehandleren i overensstemmelse med dit krav. For at sende en anmodning til Solr skal du tilknytte handleren til et specifikt URL-slutpunkt.

Svarskriver

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, signatur, logning, indeksering. Denne proces er kendt som opdateringsanmodningsprocessor. Opdateringsbehandler er også ansvarlig for ændringer som tilføjelse eller sletning af arkiverede 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
  • Dokument viewing
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 nedenstående URL
For at få adgang til Solr skal du blot bruge URL'en

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

parametre 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 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 Complex Forespørgsler
  • Ikke optimal for normaliserede data

Resumé

  • Apache Solr er en open source REST-API baseret søgeserver
  • Apache Solr blev udviklet på CNET af Yonik Seeley som et internt projekt i en del af virksomheden
  • Apache Solr tilbyder funktioner som Auto-fuldførelse og Geo-Spatial Search
  • Solr Core, Solr Instance, Indexing, Document, Restful API'er, Fuldtekstsøgning, Admin Interface osv. er nogle nøgleord, der bruges i Apache Solr
  • Forespørgsel, anmodningshåndtering, anmodningsskriver og opdateringshåndtering er nogle af de vigtige komponenter i Apache Solr
  • Intranetportal, Federated Client, Instrument Datasæt, Regulatory Documents, Embedded in PLM Application er nyttige Apache Solr-applikationer
  • Apache Solr er veldokumenteret kompares til elastisk søgning som er dårligt dokumenteret
  • Den største fordel ved Apache Solr er, at det hjælper dig med at reducere den tid, det tager at finde information
  • Den største ulempe ved denne applikation Det er ikke et ACID-kompatibelt datalager