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 Architectură
Apache Solr Architectură

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
  • Acces ușor la căutare
  • Lansarea aplicației
  • Notificare de știri și evenimente
  • Autentificare cu conectare unică
Client federat
  • Prezentare simplificată
  • Căutați în tot conținutul
  • Numai acces autorizat
  • Vizualizarea documentelor
Seturi de date instrument
  • Optimizat pentru oameni de știință
  • Meniuri dependente de date
  • Filtre de grilă specializate
Documente de reglementare
  • Conceput pentru cercetători
  • Acces bogat la metadate
  • Exporturile de foi de calcul
  • Vizualizați acceleratorul de documente
Încorporat în aplicația PLM
  • Oferă o experiență de căutare mai bună decât ar putea oferi un RDBMS
  • Model de securitate cu legare tardivă
  • Documentați acțiunile expuse pe bara de instrumente

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”.

Instalați Apache Solr

Pas 2) Faceți clic pe Accept Termeni
Pe pagina următoare, faceți clic pe Accept Termeni.

Instalați Apache Solr

Pas 3) Așteptați ceva timp
Apoi, așteptați ceva timp și apoi, cererea este acceptată după ceva timp.

Instalați Apache Solr

Pas 4) Continuați la Configurare
Reîmprospătați pagina și faceți clic pe „Continuați la configurare”

Instalați Apache Solr

Pas 5) Continuați să Lansați
Păstrați setările implicite și faceți clic pe „Continuați pentru a lansa”.

Instalați Apache Solr

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”

Instalați Apache Solr

Veți vedea acest mesaj de succes

Instalați Apache Solr

Pas 7) Rețineți DNS-ul public
În consola EC2, rețineți DNS-ul public al instanței dvs

Instalați Apache Solr

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

Instalați Apache Solr

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:

Instalați Apache Solr

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