Tutorial Apache Solr: Ce este Solr? Architectură și instalare
Ce este Apache Solr?
Apache Solr este o platformă de server de căutare open-source scrisă în Java limbaj de la Apache Software Foundation. Este foarte scalabil și gata de implementat un motor de căutare pentru a gestiona un volum mare de date centrate pe text. Scopul utilizării Apache Solr este de a indexa și de a căuta în cantități mari de conținut web și de a oferi conținut relevant pe baza interogării de căutare.
Apache Solr este un înveliș HTTP bazat pe REST-API în jurul motorului de căutare full-text numit Apache Lucene. Un index inversat este o listă de cuvinte în care fiecare intrare de cuvânt se leagă la documentele în care este stocat. Astfel, obțineți toate documentele pentru interogarea de căutare „guru99” cu o operațiune simplă „obține”.
Istoria Apache Solr
- 1999: Doug Cutting a publicat Lucene
- 2004: Solr a fost dezvoltat la CNET de Yonik Seeley ca parte a unui proiect intern al companiei
- 2006: CNET publică codul sursă donându-l software-ului Apache Foundation
- 2008: Solr 1.3 a fost lansat cu capacități de căutare îmbunătățite și îmbunătățiri ale performanței
- 2010: Fuziunea Lucene și Solr
- 2012: Solr versiunea 4.0 a fost lansată, cu noua caracteristică Solr Cloud
- 2016: a fost lansat Solr 6.0, care oferă suport pentru execuția de interogări SQL paralele
Caracteristicile Apache Solr
Iată caracteristicile importante ale Apache Solr:
- Echilibrare automată a sarcinii
- Interfețe deschise bazate pe standarde – XML, JSON și HTTP
- Sunt acceptate recomandările și sugestiile de vrăjire
- Suport pentru completare automată și căutare geo-spațială
- Securitate încorporată pentru autentificare și autorizare
- Vă permite să efectuați o căutare multilingvă prin cuvinte cheie
- Predicție de completare automată/Tastare înainte
- Procesare lot și streaming
- Construirea modelelor de învățare automată este ușoară
- Optimizat special pentru trafic web cu volum mare
- Interfețe cuprinzătoare de admirație HTML
- Suportă atât configurația Schema cât și Schemaless
- Căutare și filtrare cu fațete
- Configurație centrală pentru întreg Cluster
Termeni cheie utilizați în Apache Solr
Acum, în acest tutorial pentru motorul de căutare Solr, vom afla despre termenii cheie folosiți în Apache Solr:
Termen cheie | Descriere |
---|---|
Nucleul Solr | Solr Core poate fi definit ca un index de texte și câmpuri derivate din toate documentele. O Instanță Solr poate avea un singur sau mai multe nuclee Solr.
Core = o instanță a configurației Lucene Index + Solr |
Instanța Solr | Solr Instance este o instanță a unui Solr care rulează în Java Mașină virtuală (FMV). În modul Standalone, oferă doar o singură instanță, în timp ce în modul cloud puteți avea una sau mai multe instanțe. |
Indexarea | Indexarea este o metodă de adăugare a conținutului documentului la Solr Index. Apache Solr folosește tehnica Apache Lucene Inverted Index. |
Document | Este un grup de câmpuri și valorile acestora. Un document este o unitate de bază de date stocate în Apache Core. Un nucleu Apache poate conține unul sau mai multe documente. |
Câmp | Câmpul este o pereche cheie-valoare care stochează datele reale într-un document. Cheia specifică numele câmpului și valoarea conține acele date de câmp. Un document poate avea unul sau mai multe câmpuri. Este folosit de Apache Solr pentru a indexa conținutul documentului. |
API-uri odihnitoare | Pentru a comunica cu Solr, nu este necesar să fi folosit Java programare. În schimb, Apache Solr oferă servicii odihnitoare pentru a comunica cu ea. Puteți trimite documente și primi rezultate în diferite formate de fișiere, cum ar fi JSON, XML și CSV. |
Căutarea pe întregul text | Solr oferă funcții pentru căutarea textului integral, cum ar fi jetoane, fraze, verificare ortografică, completare automată, wildcard etc. |
Interfață de administrare | Solr oferă o interfață de utilizator ușor de utilizat, ușor de utilizat, alimentată cu funcții. Folosind interfața, puteți efectua sarcini precum gestionarea jurnalelor, adăugarea, ștergerea, actualizarea și căutarea documentelor. |
Centrat pe text și sortat după relevanță | Apache Solr este folosit pentru a căuta documente text, iar rezultatele sunt livrate în funcție de interogarea utilizatorului. |
Nod | În cloud Solr, fiecare instanță este cunoscută ca nod. |
Cluster | Un cluster este o colecție de noduri. |
Colectie | Un cluster are un index logic care se mai numește și colecție. |
ciob de sticlă | Este o zonă mică a colecției care oferă replici simple sau multiple ale indexului. |
Copie | O replică este o copie a fragmentului care rulează într-un nod. |
Lider | Este o replică a shard-ului, care trimite cererile Solr Cloud pentru restul replicilor. |
Apache Solr Architectură
Acum, în acest tutorial de căutare Solr, să învățăm despre Apache Solr Architectura:
Apache Solr compromite următoarele componente
Întrebare
Analizorul de interogări analizează interogările pe care trebuie să le transmiteți către Solr. Vă verifică interogarea pentru a verifica erorile sintactice. După analizarea interogărilor, se traduce într-un format cunoscut de Lucene.
Handler de cereri
Cererile trimise către Apache Solr sunt procesate de handler-ul cererii. Solicitarea poate fi o solicitare de interogare sau cereri de actualizare a indexului. Trebuie să selectați operatorul de gestionare a cererilor în funcție de cerințele dvs. Pentru a transmite o solicitare către Solr, trebuie să mapați handlerul la un anumit punct final de URL.
Scriitor de răspuns
Un scriitor de răspuns va genera ieșiri formatate pentru interogările de intrare. Acceptă diverse formate precum XML, JSON, CSV.etc. Este posibil să aveți diferiți scriitori de răspunsuri pentru diferite tipuri de solicitări.
Actualizare Handler
Când trimiteți o solicitare de actualizare către Apache Solr, aceasta este rulată printr-un set de pluginuri, semnătură, logare, indexare. Acest proces este cunoscut sub numele de procesor de solicitare de actualizare. Managerul de actualizare este responsabil și pentru modificări precum adăugarea sau eliminarea fișierelor etc.
Aplicații Apache Solr
Aplicatii | Folosire |
---|---|
Portal intranet |
|
Client federat |
|
Seturi de date instrument |
|
Documente de reglementare |
|
Încorporat în aplicația PLM |
|
Cum se instalează Apache Solr?
Pas 1) Deschide site-ul și continuă să te abonezi
Du-te la asta legătură, Faceți clic pe „Continuați să vă abonați”.
Pas 2) Faceți clic pe Accept Termeni
Pe pagina următoare, faceți clic pe Accept Termeni.
Pas 3) Așteptați ceva timp
Apoi, așteptați ceva timp și apoi, cererea este acceptată după ceva timp.
Pas 4) Continuați la Configurare
Reîmprospătați pagina și faceți clic pe „Continuați la configurare”
Pas 5) Continuați să Lansați
Păstrați setările implicite și faceți clic pe „Continuați pentru a lansa”.
Pas 6) Păstrați setările implicite
Pe pagina următoare, Păstrați setările implicite
- Asigurați-vă că aveți fișierul pem al cheii
- Faceți clic pe „Lansare”
Veți vedea acest mesaj de succes
Pas 7) Rețineți DNS-ul public
În consola EC2, rețineți DNS-ul public al instanței dvs
Pas 8) Deschideți mai jos adresa URL
Pentru a accesa Solr, pur și simplu utilizați adresa URL
http://publicdns:8983
în cazul nostru devine
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
Notă: Dacă întâmpinați probleme la accesarea instanței, modificați regulile de intrare și de ieșire din instanță pentru a permite tot traficul, așa cum se arată în exemplul de interogare Solr de mai jos:
Elasticsearch vs. Apache Solr
parametrii | Apache Solr | Căutare elastică |
---|---|---|
Natură | Este un proiect open source. | Nu este un proiect cu sursă deschisă. |
Stare statică | Static în shema.xml | Static în elasticsearch.yml |
Format | XML, CSV, JSON | Doar JSON |
index | Poate fi reîncărcat în timpul rulării cu colectare/reîncărcare de bază | Definit în timpul creării indexului/tipului cu un apel REST |
Documentație | Este bine documentat. | Este prost documentat. |
Împărțirea cioburi | Posibil | Nu este posibil |
Avantajele Apache Solr
- Vă ajută să reduceți timpul necesar pentru a localiza informațiile
- Este un motor de căutare rapid, simplu, puternic și flexibil
- Vă ajută să vă faceți produsele și serviciile mai accesibile
- Creșteți cheltuielile clienților pentru o aplicație web
- Vă ajută să îmbunătățiți experiența utilizatorului pe aplicația web pentru a crește veniturile și profitul
- Interfață de administrare cuprinzătoare bazată pe HTML
- Flexibil și adaptabil cu configurație XML
- Plugin extensibil Architectură
- Motor de căutare foarte scalabil, robust și tolerant la erori
- Suportă distribuit, umbrire, replicare, Clustering și Multi-Node Architectură
Dezavantajele Apache Solr
- Nu este un depozit de date compatibil ACID
- Nu este util ca depozit de date primar. Util doar ca depozit de date secundar
- Nu oferă suport pentru tranzacții și tranzacții distribuite
- Nu acceptă alăturari și interogări complexe
- Nu este optim pentru date normalizate
Rezumat
- Apache Solr este o sursă deschisă REST-API server de căutare bazat
- Apache Solr a fost dezvoltat la CNET de Yonik Seeley ca un proiect intern al companiei
- Apache Solr oferă funcții precum Auto-Completion și Geo-Spatial Search
- Solr Core, Solr Instance, Indexing, Document, Restful APIs, Full-text search, Admin Interface etc. sunt câțiva termeni cheie folosiți în Apache Solr
- Query, Request handler, Request writer și update handler sunt câteva dintre componentele importante ale Apache Solr
- Portalul intranet, clientul federat, seturile de date instrument, documentele de reglementare, încorporate în aplicația PLM sunt aplicații Apache Solr utile
- Apache Solr este bine documentat în comparație cu căutarea elastică, care este prost documentată
- Cel mai mare avantaj al Apache Solr este că vă ajută să reduceți timpul necesar pentru a localiza informațiile
- Principalul dezavantaj al acestei aplicații Nu este un depozit de date compatibil cu ACID