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 Architectura
Apache Solr Architectura

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
  • Facile accesso alla ricerca
  • Lancio dell'applicazione
  • Notifica di notizie ed eventi
  • Autenticazione Single Sign-On
Cliente federato
  • Presentazione semplificata
  • Cerca in tutti i contenuti
  • Solo accesso autorizzato
  • Visualizzazione del documento
Set di dati dello strumento
  • Ottimizzato per gli scienziati
  • Menu dipendenti dai dati
  • Filtri a griglia specializzati
Documenti normativi
  • Progettato per i ricercatori
  • Accesso ricco ai metadati
  • Esportazioni di fogli di calcolo
  • Visualizza l'acceleratore di documenti
Incorporato nell'applicazione PLM
  • Offre un'esperienza di ricerca migliore di quella che potrebbe fornire un RDBMS
  • Modello di sicurezza vincolante tardivo
  • Azioni del documento esposte sulla barra degli strumenti

Come installare Apache Solr?

Passo 1) Apri il sito web e continua ad iscriverti
Vai a questo link, fare clic su "Continua ad iscriverti".

Installa Apache Solr

Passo 2) Fare clic su Accetta termini
Nella pagina successiva, fai clic su Accetta termini.

Installa Apache Solr

Passo 3) Aspetta un po' di tempo
Successivamente, attendi un po' di tempo e poi la richiesta viene accettata dopo un po' di tempo.

Installa Apache Solr

Passo 4) Continua su Configurazione
Aggiorna la pagina e fai clic su "Continua alla configurazione"

Installa Apache Solr

Passo 5) Continua al lancio
Mantieni le impostazioni predefinite e fai clic su "Continua all'avvio".

Installa Apache Solr

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"

Installa Apache Solr

Vedrai questo messaggio di successo

Installa Apache Solr

Passo 7) Nota il DNS pubblico
Nella console EC2, prendi nota del DNS pubblico della tua istanza

Installa Apache Solr

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

Installa Apache Solr

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:

Installa Apache Solr

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