Apache Solr-zelfstudie: Wat is Solr? Architectuur en installatie
Wat is Apache Solr?
Apache Solr is een open-source zoekserverplatform waarin is geschreven Java taal door Apache software foundation. Het is zeer schaalbaar en klaar om te implementeren zoekmachine om een groot volume aan tekstgerichte data te verwerken. Het doel van het gebruik van Apache Solr is om grote hoeveelheden webcontent te indexeren en te doorzoeken en relevante content te geven op basis van de zoekopdracht.
Apache Solr is een REST-API gebaseerde HTTP wrapper rond de full-text zoekmachine genaamd Apache Lucene. Een inverted index is een lijst met woorden waarbij elke woordvermelding linkt naar de documenten waarin het is opgeslagen. Op die manier worden alle documenten voor de zoekopdracht "guru99" opgehaald met een eenvoudige 'get'-bewerking.
Geschiedenis van Apache Solr
- 1999: Doug Cutting publiceerde Lucene
- 2004: Solr werd bij CNET ontwikkeld door Yonik Seeley als een intern bedrijfsproject
- 2006: CNET publiceert de broncode door deze te doneren aan de Apache-software Foundation
- 2008: Solr 1.3 werd uitgebracht met verbeterde zoekmogelijkheden en prestatieverbeteringen
- 2010: Fusie van Lucene en Solr
- 2012: Solr versie 4.0 werd uitgebracht, met nieuwe Solr Cloud-functie
- 2016: Solr 6.0 werd uitgebracht en biedt ondersteuning voor de uitvoering van parallelle SQL-query's
Kenmerken van Apache Solr
Hier zijn belangrijke kenmerken van Apache Solr:
- Automatische taakverdeling
- Op standaarden gebaseerde open interfaces – XML, JSON en HTTP
- Aanbevelingen en spellingsuggesties worden ondersteund
- Ondersteuning voor automatisch aanvullen en georuimtelijk zoeken
- Ingebouwde beveiliging voor authenticatie en autorisatie
- Hiermee kunt u een meertalige zoekopdracht op trefwoorden uitvoeren
- Automatisch aanvullen/type-ahead-voorspelling
- Batch- en streamingverwerking
- Het bouwen van machine-learning-modellen is eenvoudig
- Speciaal geoptimaliseerd voor groot volume webverkeer
- Uitgebreide HTML-bewonderingsinterfaces
- Ondersteunt zowel schema- als schemaloze configuratie
- Gefacetteerd zoeken en filteren
- Centrale configuratie voor geheel Cluster
Belangrijkste termen die worden gebruikt in Apache Solr
In deze Solr-zoekmachine-tutorial leren we nu over de belangrijkste termen die in Apache Solr worden gebruikt:
Belangrijke term | Beschrijving |
---|---|
Solr Kern | Solr Core kan worden gedefinieerd als een index van teksten en velden afgeleid van alle documenten. Eén Solr-instantie kan één of meerdere Solr-cores hebben.
Core = een exemplaar van de Lucene Index + Solr-configuratie |
Solr-instantie | Solr Instance is een instance waarin Solr draait in de Java Virtuele machine (JVM). In de standalone-modus biedt het slechts één exemplaar, terwijl u in de cloudmodus één of meer exemplaren kunt hebben. |
Indexeren | Indexeren is een methode voor het toevoegen van de inhoud van documenten aan Solr Index. Apache Solr maakt gebruik van de Apache Lucene Inverted Index-techniek. |
Document | Het is een groep velden en hun waarden. Een document is een basiseenheid van gegevens die zijn opgeslagen in Apache Core. Eén Apache-kern kan een of meer documenten bevatten. |
Veld | Het veld is een sleutel-waardepaar dat de feitelijke gegevens in een document opslaat. Sleutel specificeert de veldnaam en de waarde bevat die veldgegevens. Een document kan één of meerdere velden bevatten. Het wordt door Apache Solr gebruikt om de documentinhoud te indexeren. |
Rustgevende API's | Om met Solr te communiceren is het niet nodig om gebruik te hebben gemaakt van Java programmeren. In plaats daarvan biedt Apache Solr rustgevende diensten om ermee te communiceren. U kunt documenten verzenden en resultaten ontvangen in verschillende bestandsformaten, zoals JSON, XML en CSV. |
Zoek volledige text | Solr biedt functies voor zoeken in volledige tekst, zoals tokens, zinsdelen, spellingcontrole, automatisch aanvullen, jokertekens, enz. |
Beheerdersinterface | Solr biedt een eenvoudig te gebruiken, gebruiksvriendelijke, functionele gebruikersinterface. Met behulp van de interface kunt u taken uitvoeren zoals het beheren van logboeken, het toevoegen, verwijderen, bijwerken en zoeken van documenten. |
Tekstgericht en gesorteerd op relevantie | Apache Solr wordt gebruikt om tekstdocumenten te doorzoeken en de resultaten worden geleverd op basis van de zoekopdracht van de gebruiker. |
Knooppunt | In de Solr-cloud staat elke afzonderlijke instantie bekend als een knooppunt. |
Cluster | Een cluster is een verzameling knooppunten. |
Collectie | Een cluster heeft een logische index, die ook wel een verzameling wordt genoemd. |
scherf | Het is een klein deel van de collectie dat enkele of meerdere replica's van de index biedt. |
Replica | Een replica is een kopie van Shard die in een knooppunt wordt uitgevoerd. |
Leider | Het is een replica van de scherf, die de verzoeken van de Solr Cloud voor de rest van de replica's verzendt. |
Apache Solr Architectuur
Laten we nu in deze Solr-zoektutorial meer leren over Apache Solr Archistructuur:
Apache Solr compromitteert de volgende componenten
Vraag
De query-parser parseert de query's die u aan Solr moet doorgeven. Het verifieert uw zoekopdracht om syntactische fouten te controleren. Na het parseren van de zoekopdrachten wordt het vertaald in een formaat dat bekend is bij Lucene.
Verzoek behandelaar
Het verzoek dat naar Apache Solr wordt verzonden, wordt verwerkt door de verzoekhandler. Het verzoek kan een queryverzoek of een indexupdateverzoek zijn. U moet de verzoekbehandelaar selecteren op basis van uw vereisten. Om een verzoek door te geven aan Solr, moet u de handler toewijzen aan een specifiek URL-eindpunt.
Reactie Schrijver
Een antwoordschrijver genereert opgemaakte uitvoer voor invoerquery's. Het ondersteunt verschillende formaten zoals XML, JSON, CSV.etc. Mogelijk hebt u verschillende antwoordschrijvers voor verschillende soorten verzoeken.
Behandelaar bijwerken
Wanneer u een updateverzoek naar Apache Solr verzendt, wordt dit door een reeks plug-ins, handtekeningen, logboekregistratie en indexering geleid. Dit proces staat bekend als updateverzoekprocessor. Updatehandler is ook verantwoordelijk voor wijzigingen zoals het toevoegen of verwijderen van bestanden, enz.
Apache Solr-applicaties
Aanvraag | Gebruik |
---|---|
Intranetportaal |
|
Federatieve klant |
|
Instrumentgegevenssets |
|
Wettelijke documenten |
|
Ingebed in PLM-applicatie |
|
Hoe installeer ik Apache Solr?
Stap 1) Website openen en doorgaan met abonneren
Ga hier naartoe link, Klik op 'Doorgaan met abonneren'.
Stap 2) Klik op Voorwaarden accepteren
Op de volgende pagina klikt u op Voorwaarden accepteren.
Stap 3) Wacht even
Wacht vervolgens enige tijd en vervolgens wordt het verzoek na enige tijd geaccepteerd.
Stap 4) Doorgaan naar Configuratie
Ververs de pagina en klik op “Doorgaan naar configuratie”
Stap 5) Doorgaan met starten
Houd de standaardinstellingen en klik op 'Doorgaan met starten'.
Stap 6) Houd de instellingen standaard
Op de volgende pagina: Houd de instellingen standaard
- Zorg ervoor dat u het pem-bestand van de sleutel hebt
- Klik op “Starten”
U zult dit succesbericht zien
Stap 7) Let op de openbare DNS
Noteer in de EC2-console de openbare DNS van uw exemplaar
Stap 8) Open onderstaande URL
Om toegang te krijgen tot Solr, gebruikt u eenvoudig de URL
http://publicdns:8983
in ons geval wordt het
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
Opmerking: als u problemen ondervindt bij de toegang tot de instantie, wijzigt u de regels voor inkomende en uitgaande verbindingen in uw instantie om al het verkeer toe te staan, zoals weergegeven in het onderstaande Solr-queryvoorbeeld:
Elasticsearch versus. Apache Solr
parameters | Apache Solr | Elastisch zoeken |
---|---|---|
NATUUR | Het is een open source-project. | Geen opensourceproject. |
Statische status | Statisch in shema.xml | Statisch in elasticsearch.yml |
Formaat | XML, CSV, JSON | Alleen JSON |
Index | Kan tijdens runtime opnieuw worden geladen met collection/core reload | Gedefinieerd tijdens het maken van index/type met een REST-aanroep |
Documentatie | Het is goed gedocumenteerd. | Het is slecht gedocumenteerd. |
Scherven splitsen | Mogelijk | Niet mogelijk |
Voordelen van Apache Solr
- Helpt u de hoeveelheid tijd te verminderen die nodig is om informatie te vinden
- Het is een snelle, eenvoudige, krachtige en flexibele zoekmachine
- Helpt u om uw producten en diensten toegankelijker te maken
- Verhoog de klantuitgaven aan een webapplicatie
- Helpt u de gebruikerservaring op de webapplicatie te verbeteren om de omzet en winst te verhogen
- Uitgebreide op HTML gebaseerde beheerinterface
- Flexibel en aanpasbaar met XML-configuratie
- Uitbreidbare plug-in Architectuur
- Zeer schaalbare, robuuste, fouttolerante zoekmachine
- Ondersteunt gedistribueerd, schaduw, replicatie, Clustering en Multi-Node Architectuur
Nadelen van Apache Solr
- Het is geen ACID-compatibele gegevensopslag
- Het is niet nuttig als primaire gegevensopslag. Alleen nuttig als secundaire gegevensopslag
- Biedt geen ondersteuning voor transacties en gedistribueerde transacties
- Geen ondersteuning voor joins en complexe query's
- Niet optimaal voor genormaliseerde gegevens
Samenvatting
- Apache Solr is een open source REST-API gebaseerde zoekserver
- Apache Solr is bij CNET ontwikkeld door Yonik Seeley als een intern project van een deelbedrijf
- Apache Solr biedt functies zoals automatisch aanvullen en georuimtelijk zoeken
- Solr Core, Solr Instance, Indexing, Document, Restful APIs, Full-text search, Admin Interface, etc. zijn enkele sleutelbegrippen die worden gebruikt in Apache Solr
- Query, Request handler, Request writer en update handlers zijn enkele van de belangrijke componenten van Apache Solr
- Intranetportaal, federatieve client, instrumentdatasets, regelgevingsdocumenten, ingebed in PLM-applicatie zijn nuttige Apache Solr-applicaties
- Apache Solr is goed gedocumenteerd, vergeleken met elastisch zoeken, dat slecht gedocumenteerd is
- Het grootste voordeel van Apache Solr is dat het u helpt de hoeveelheid tijd die nodig is om informatie te lokaliseren te verminderen
- Het belangrijkste nadeel van deze applicatie is dat het geen ACID-compatibele gegevensopslag is