Tutorial su Apache Solr: cos'è Solr? Architectura
⚡ Riepilogo intelligente
Apache Solr è un software open-source, JavaServer di ricerca basato su Apache Lucene. Indicizza grandi volumi di dati testuali e restituisce risultati pertinenti tramite API REST, offrendo ricerca full-text, faceting, scalabilità e modalità di implementazione sia standalone che SolrCloud.
Cos'è Apache Solr?
Apache Solr è una piattaforma server di ricerca open source scritta in Java linguaggio di Apache Software Foundation. È altamente scalabile e pronto per essere implementato come motore di ricerca per gestire un grande volume di dati incentrati sul testo. Lo scopo dell'utilizzo di Apache Solr è di indicizzare e ricercare una grande quantità di contenuti Web e fornire contenuti pertinenti in base alla query di ricerca.
Apache Solr è un wrapper HTTP basato su API REST attorno al motore di ricerca full-text chiamato Apache Lucene. Un indice invertito è un elenco di parole in cui ciascuna voce di parola si collega ai documenti in cui è archiviata. In questo modo si ottengono tutti i documenti per la query di ricerca "guru99" con una semplice operazione "get".
Storia di Apache Solr
- 1999: Doug Cutting pubblica Lucene
- 2004: Solr è stato sviluppato presso CNET da Yonik Seeley come progetto interno della società parziale
- 2006: CNET pubblica il codice sorgente donandolo alla Apache Software Foundation
- 2008: Solr 1.3 viene rilasciato con funzionalità di ricerca avanzate e miglioramenti delle prestazioni
- 2010: Fusione di Lucene e Solr
- 2012: viene rilasciata la versione 4.0 di Solr, con la nuova funzionalità Solr Cloud
- 2016: viene rilasciato Solr 6.0, che offre il supporto per l'esecuzione di query SQL parallele
- 2017: è stata rilasciata la versione 7.0 di Solr, che ha introdotto un framework di scalabilità automatica e l'API JSON Facet.
- 2019: Solr 8.0 è stato rilasciato con supporto per documenti nidificati e espressioni di streaming migliorate.
- 2021: Lucene e Solr si sono separati nuovamente e Solr è diventato un progetto Apache indipendente di primo livello.
- 2022: Solr 9.0 è stato rilasciato come prima versione indipendente da Lucene, aggiungendo la ricerca vettoriale e il supporto per Kubernetes.
- 2026: Solr 10.0 è stato rilasciato come ultima versione principale.
Caratteristiche di Apache Solr
Ecco le caratteristiche importanti di Apache Solr:
- Bilanciamento automatico del carico
- Interfacce aperte basate su standard: XML, JSON e HTTP
- Sono supportati consigli e suggerimenti di incantesimi
- Supporto per il completamento automatico e la ricerca geospaziale
- Sicurezza integrata per l'autenticazione e l'autorizzazione
- Consente di eseguire una ricerca per parole chiave multilingue
- Completamento automatico/Previsione type-ahead
- Elaborazione batch e streaming
- Costruire modelli di machine learning è facile
- Ottimizzato appositamente per traffico web ad alto volume
- Interfacce di ammirazione HTML complete
- Supporta sia la configurazione Schema che Schemaless
- Ricerca e filtraggio sfaccettati
- Configurazione centrale per l'intero Cluster
Termini chiave utilizzati in Apache Solr
Ora in questo tutorial sul motore di ricerca Solr, impareremo i termini chiave utilizzati in Apache Solr:
| Termine principale | Descrizione |
|---|---|
| Nucleo Sol | Solr Core può essere definito come un indice di testi e campi derivati da tutti i documenti. Un'istanza di Solr può avere uno o più Solr Core. Core = un'istanza di Lucene Index + configurazione Solr. |
| Istanza Solr | Solr Instance è un'istanza di Solr in esecuzione nel file Java Macchina virtuale (JVM). In modalità Standalone offre solo un'istanza mentre in modalità cloud puoi avere una o più istanze. |
| Indicizzazione | L'indicizzazione è un metodo per aggiungere il contenuto del documento a Solr Index. Apache Solr utilizza la tecnica Apache Lucene Inverted Index. |
| funzionalità di | È un gruppo di campi e i relativi valori. Un documento è un'unità base di dati archiviati in Apache Core. Un core Apache può contenere uno o più documenti. |
| Settore | Il campo è una coppia chiave-valore che memorizza i dati effettivi in un documento. La chiave specifica il nome del campo e il valore contiene i dati di quel campo. Un documento può avere uno o più campi. Viene utilizzato da Apache Solr per indicizzare il contenuto del documento. |
| API riposanti | Per comunicare con Solr non è necessario aver utilizzato Java programmazione. Invece, Apache Solr fornisce servizi riposanti per comunicare con esso. Puoi inviare documenti e ricevere risultati in vari formati di file come JSON, XML e CSV. |
| Ricerca full-text | Solr offre funzionalità per la ricerca full-text come token, frasi, controllo ortografico, completamento automatico, caratteri jolly, ecc. |
| Interfaccia di amministrazione | Solr offre un'interfaccia utente facile da usare, intuitiva e ricca di funzionalità. Utilizzando l'interfaccia è possibile eseguire attività come la gestione dei registri, l'aggiunta, l'eliminazione, l'aggiornamento e la ricerca di documenti. |
| Incentrato sul testo e ordinato per pertinenza | Apache Solr viene utilizzato per cercare documenti di testo e i risultati vengono forniti in base alla query dell'utente. |
| Nodo | Nel cloud Solr, ogni singola istanza è nota come nodo. |
| Cluster | Un cluster è una raccolta di nodi. |
| Collezione | Un cluster ha un indice logico chiamato anche raccolta. |
| Coccio | Si tratta di una piccola area della collezione che offre repliche singole o multiple dell'indice. |
| Replica | Una replica è una copia di uno shard che viene eseguito in un nodo. |
| Capo | È una replica dello shard, che invia le richieste di Solr Cloud per il resto delle repliche. |
Apache Solr Architectura
Ora in questo tutorial sulla ricerca di Solr, impariamo a conoscere Apache Solr Architecnologia:

Apache Solr compromette i seguenti componenti
domanda
Il parser di query analizza le query che devi passare a Solr. Verifica la query per individuare eventuali errori di sintassi. Dopo l'analisi, le query vengono convertite in un formato riconosciuto da Lucene.
Gestore della richiesta
Le richieste inviate ad Apache Solr vengono elaborate dal gestore delle richieste. La richiesta può essere una richiesta di query o una richiesta di aggiornamento dell'indice. È necessario selezionare il gestore delle richieste in base alle proprie esigenze. Per passare una richiesta a Solr, è necessario mappare il gestore a uno specifico URL punto finale.
Risposta Writer
Uno scrittore di risposte genererà output formattati per le query di input. Supporta vari formati come XML, JSON, CSV.etc. Potresti avere autori di risposte diversi per diversi tipi di richieste.
Gestore degli aggiornamenti
Quando invii una richiesta di aggiornamento ad Apache Solr, questa viene elaborata da una serie di plugin, processi di firma, registrazione e indicizzazione. Questo processo è noto come processore di richieste di aggiornamento. Il gestore degli aggiornamenti è anche responsabile delle modifiche come l'aggiunta o la rimozione di elementi.ping archiviato, ecc.
Applicazioni Apache Solr
| Applicazione | Impiego |
|---|---|
| Portale Intranet |
|
| Cliente federato |
|
| Set di dati dello strumento |
|
| Documenti normativi |
|
| Incorporato nell'applicazione PLM |
|
Come installare Apache Solr?
Passo 1) Apri il sito web e continua ad iscriverti
Vai a questo link, fare clic su "Continua ad iscriverti".
Passo 2) Fare clic su Accetta termini
Nella pagina successiva, fai clic su Accetta termini.
Passo 3) Aspetta un po' di tempo
Successivamente, attendi un po' di tempo e poi la richiesta viene accettata dopo un po' di tempo.
Passo 4) Continua su Configurazione
Aggiorna la pagina e fai clic su "Continua alla configurazione"
Passo 5) Continua al lancio
Mantieni le impostazioni predefinite e fai clic su "Continua all'avvio".
Passo 6) Mantieni le impostazioni predefinite
Nella pagina successiva, Mantieni le impostazioni predefinite
- Assicurati di avere il file pem della chiave
- Fare clic su "Avvia"
Vedrai questo messaggio di successo
Passo 7) Nota il DNS pubblico
Nella console EC2, prendi nota del DNS pubblico della tua istanza
Passo 8) Apri qui sotto URL
Per accedere a Solr, è sufficiente utilizzare il URL
http://publicdns:8983
nel nostro caso diventa
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
Nota: se riscontri problemi di accesso all'istanza, modifica le regole in entrata e in uscita nell'istanza per consentire tutto il traffico, come mostrato nell'esempio di query Solr riportato di seguito:
Elasticsearch vs. Apache Solr
| Scheda Sintetica | Apache Solr | Ricerca elastica |
|---|---|---|
| Nature | È un progetto open source. | Non è un progetto open source. |
| Stato statico | Statico in shema.xml | Statico in elasticsearch.yml |
| Formato | XML, CSV, JSON | Solo JSON |
| Indice | Può essere ricaricato durante il runtime con ricarica raccolta/core | Definito durante la creazione dell'indice/tipo con una chiamata REST |
| Documentazione | È ben documentato. | È mal documentato. |
| Frammenti di divisione | Possibile | Non possibile |
Vantaggi di Apache Solr
- Ti aiuta a ridurre il tempo necessario per individuare le informazioni
- È un motore di ricerca veloce, semplice, potente e flessibile.
- Ti aiuta a rendere i tuoi prodotti e servizi più accessibili
- Aumenta la spesa dei clienti su un'applicazione web
- Ti aiuta a migliorare l'esperienza utente sull'applicazione web per aumentare entrate e profitti
- Interfaccia di amministrazione completa basata su HTML
- Flessibile e adattabile con configurazione XML
- Plug-in estensibile Architectura
- Motore di ricerca altamente scalabile, robusto e tollerante agli errori
- Supporta distribuzione, ombreggiatura, replica, Clustering e Multinodo Architectura
Svantaggi di Apache Solr
- Non è un archivio dati compatibile con ACID
- Non è utile come archivio dati primario. Utile solo come archivio dati secondario
- Non offre supporto per transazioni e transazioni distribuite
- Non supporta join e query complesse
- Non ottimale per i dati normalizzati











