Apache Solr Tutorial: Hvad er Solr? Archikonstruktion og installation
Hvad er Apache Solr?
Apache Solr er en open source søgeserverplatform skrevet i 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 en simpel '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 | Description |
---|---|
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 Virtuel maskine (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 | En klynge er en samling af noder. |
Kollektion | En klynge 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 kompromitterer følgende 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 |
|
Fødereret klient |
|
Instrumentdatasæt |
|
Lovgivningsmæssige dokumenter |
|
Indlejret i PLM-applikation |
|
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".
Trin 2) Klik på Accepter vilkår
På næste side, klik på Accepter vilkår.
Trin 3) Vent et stykke tid
Dernæst Vent et stykke tid, og derefter accepteres anmodningen efter nogen tid.
Trin 4) Fortsæt til konfiguration
Opdater siden, og klik på "Fortsæt til konfiguration"
Trin 5) Fortsæt til lancering
Behold indstillingerne som standard, og klik på "Fortsæt til start."
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"
Du vil se denne succesmeddelelse
Trin 7) Bemærk den offentlige DNS
I EC2-konsollen skal du notere den offentlige DNS for din instans
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
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:
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 komplekse 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 sammenlignet med 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