Tutorial Apache Solr: Ce este Solr? Architectură

⚡ Rezumat inteligent

Apache Solr este o soluție open-source, JavaServer de căutare bazat pe .Cloud, construit pe Apache Lucene. Acesta indexează volume mari de date centrate pe text și returnează rezultate relevante prin intermediul API-urilor REST, oferind căutare full-text, fațetare, scalabilitate și moduri de implementare atât standalone, cât și SolrCloud.

  • 🔍 Definiția Solr: Sursa deschisa, Java server de căutare construit pe Apache Lucene.
  • 🗂️ Indexare: Folosește un index inversat pentru a stoca și a regăsi rapid documente text.
  • 🌐 API-uri REST: Comunicare prin HTTP cu JSON, XML sau CSV; nu Java necesar.
  • 🧩 Architectura: Analizator de interogări, tratator de cereri, scriitor de răspunsuri și tratator de actualizări.
  • 🇧🇷 Solr vs. Elasticsearch: Solr acceptă XML/CSV/JSON și divizarea fragmentelor; ambele utilizează Lucene.
  • ☁️ Implementare: Mod autonom sau SolrCloud cu noduri, shard-uri, replici și clustere.

Tutorial Apache Solr

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
  • 2017: A fost lansat Solr 7.0, adăugând un framework de autoscalare și API-ul JSON Facet
  • 2019: Solr 8.0 a fost lansat cu suport pentru documente imbricate și expresii de streaming îmbunătățite
  • 2021: Lucene și Solr s-au separat din nou, iar Solr a devenit un proiect Apache independent de nivel superior
  • 2022: Solr 9.0 a fost lansat ca prima versiune independentă de Lucene, adăugând căutare vectorială și suport pentru Kubernetes
  • 2026: Solr 10.0 a fost lansat ca cea mai recentă versiune majoră

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 unul sau mai multe nuclee Solr. Core = o instanță a indexului Lucene + configurația 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 efective dintr-un document. Cheia specifică numele câmpului, iar valoarea conține datele câmpului respectiv. Un document poate avea unul sau mai multe câmpuri. Este utilizată 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

Analizatorul de interogări analizează interogările pe care trebuie să le transmiteți către Solr. Verifică interogarea pentru a verifica erorile sintactice. După analizarea interogărilor, aceasta le traduce într-un format cunoscut de Lucene.

Handler de cereri

Cererile trimise către Apache Solr sunt procesate de către handlerul de cereri. Cererea poate fi o cerere de interogare sau cereri de actualizare a indexului. Trebuie să selectați handlerul de cereri în funcție de cerințele dumneavoastră. Pentru a transmite o cerere către Solr, trebuie să mapați handlerul la un anumit URL punct final.

Răspuns Writer

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 cerere de actualizare către Apache Solr, aceasta este rulată printr-un set de plugin-uri, semnătură, înregistrare în jurnal și indexare. Acest proces este cunoscut sub numele de procesor de cereri de actualizare. Gestionarul de actualizări este, de asemenea, responsabil pentru modificări precum adăugarea sau eliminarea.ping depusă 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 URL
Pentru a accesa Solr, pur și simplu utilizați 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ă

Dezavantaje ale 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

Întrebări frecvente

Ambele sunt construite pe Apache Lucene. Solr este complet open-source, acceptă XML, CSV și JSON, permite divizarea fragmentelor și este bine documentat. Elasticsearch acceptă doar JSON, nu acceptă divizarea fragmentelor și este adesea ales pentru analize în timp real.

Un nucleu Solr este un index de texte și câmpuri derivate din documente, combinat cu configurația sa Solr. O singură instanță Solr poate găzdui unul sau mai multe nuclee, fiecare acționând ca un index Lucene independent.

Apache Solr este un wrapper HTTP bazat pe REST-API în jurul Apache Lucene, un Java motor de căutare full-text. Lucene oferă indexul inversat, în timp ce Solr adaugă scalabilitate, configurare, API-uri REST și o interfață de administrare.

IA poate adăuga căutare semantică și vectorială, modele de învățare a ierarhiei și înțelegere a interogărilor pe lângă Solr. Aceasta generează rezultate mai relevante, gestionează sinonimele și intenția și îmbunătățește completarea automată și recomandările.

Da. Inteligența artificială poate recomanda câmpuri de schemă, analizoare și setări de cache, poate detecta interogări lente și poate sugera strategii de fragmentare și replicare.ping Echipele ajustează Solr pentru performanță și relevanță cu mai puține încercări și erori.

Rezumați această postare cu: