Tutorial su Apache Solr: cos'è Solr? Archiarchitettura e installazione
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
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 Solr può avere uno o più Solr Core.
Core = un'istanza della configurazione Lucene Index + 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 del 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 delle query analizza le query che devi passare a Solr. Verifica la tua query per verificare gli errori sintattici. Dopo aver analizzato le query, si traduce in un formato conosciuto 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 richieste di aggiornamento dell'indice. È necessario selezionare il gestore della richiesta in base alle proprie esigenze. Per passare una richiesta a Solr, è necessario mappare il gestore su un endpoint URL specifico.
Scrittore di risposte
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 eseguita attraverso una serie di plugin, firma, registrazione e indicizzazione. Questo processo è noto come processore di richieste di aggiornamento. Gestore degli aggiornamenti responsabile anche di modifiche come l'aggiunta o l'eliminazione di file, ecc.
Applicazioni Apache Solr
Applicazioni | 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 sotto l'URL
Per accedere a Solr, è sufficiente utilizzare l'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
parametri | Apache Solr | Ricerca elastica |
---|---|---|
Natura | È 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
Sommario
- Apache Solr è un open source API REST server di ricerca basato
- Apache Solr è stato sviluppato presso CNET da Yonik Seeley come progetto interno della società parziale
- Apache Solr offre funzionalità come il completamento automatico e la ricerca geospaziale
- Solr Core, Solr Instance, Indexing, Document, Restful API, ricerca full-text, interfaccia di amministrazione, ecc. sono alcuni termini chiave utilizzati in Apache Solr
- Query, gestore di richieste, scrittore di richieste e gestori di aggiornamenti sono alcuni dei componenti importanti di Apache Solr
- Portale Intranet, client federato, set di dati di strumenti, documenti normativi, applicazioni PLM integrate sono utili Applicazioni Apache Solr
- Apache Solr è ben documentato rispetto alla ricerca elastica che è mal documentata
- Il più grande vantaggio di Apache Solr è che ti aiuta a ridurre la quantità di tempo necessaria per individuare le informazioni
- Lo svantaggio principale di questa applicazione non è un archivio dati compatibile con ACID