Cos'è Apache Solr
Apache Solr è uno dei database NOSQL più popolari che possono essere utilizzati per archiviare i dati e interrogarli in tempo reale. Si basa su Apache Lucene ed è scritto in Java. Proprio come ElaSticSearch, supporta le query di database tramite API di riposo. Ciò significa che possiamo usare semplici chiamate HTTP e utilizzare metodi HTTP come GET, POST, PUT, ELUTE ETC. per accedere ai dati. Fornisce inoltre un'opzione per ottenere dati sotto forma di XML o JSON attraverso le API REST.
Architettura: Apache Solr
Prima di poter iniziare a lavorare con Apache Solr, dobbiamo comprendere i componenti che costituiscono Apache Solr. Diamo un'occhiata ad alcuni componenti che ha:
Architettura Apache Solr
Si noti che solo i componenti principali per Solr sono mostrati nella figura sopra. Comprendiamo anche la loro funzionalità qui:
Iniziare con Apache Solr
Per iniziare a utilizzare Apache Solr, deve essere installato sulla macchina. Per fare questo, leggi Installa Apache Solr su Ubuntu.
Assicurati di avere un'installazione Solr attiva se si desidera provare esempi che presentiamo più avanti nella lezione e la pagina di amministrazione è raggiungibile su LocalHost:
Homepage di Apache Solr
Inserire dati
Per iniziare, consideriamo una raccolta a Solr che chiamiamo come linux_hint_collection. Non è necessario definire esplicitamente questa raccolta come quando inseriamo il primo oggetto, la raccolta verrà effettuata automaticamente. Proviamo la nostra prima chiamata API REST per inserire un nuovo oggetto nella raccolta denominata linux_hint_collection.
Inserire dati
Curl -x Post -h 'Content -Type: Application/JSON'
'http: // localhost: 8983/solr/linux_hint_collection/update/json/docs'--data-binary '
"id": "iduye",
"Nome": "Shubham"
'
Ecco cosa torniamo con questo comando:
Comanda di inserire i dati in Solr
I dati possono anche essere inseriti utilizzando la home page di Solr che abbiamo esaminato prima. Proviamo questo qui in modo che le cose siano chiare:
Inserire i dati tramite Homepage di Solr
Poiché Solr ha un ottimo modo di interazione con le API Resful HTTP, dimostreremo l'interazione DB usando le stesse API da ora in poi e non ci concentreremo molto sull'inserimento di dati attraverso la pagina Web Solr.
Elenca tutte le collezioni
Possiamo elencare tutte le raccolte in Apache Solr usando anche un'API REST. Ecco il comando che possiamo usare:
Elenca tutte le collezioni
Curl http: // localhost: 8983/solr/admin/collezioni?Azioni = Elenco e WT = JSON
Vediamo l'output per questo comando:
Vediamo due collezioni qui che esistono nella nostra installazione di Solr.
Ottieni oggetto per ID
Ora, vediamo come possiamo ottenere dati dalla raccolta Solr con un ID specifico. Ecco il comando Rest API:
Ottieni oggetto per ID
Curl http: // localhost: 8983/solr/linux_hint_collection/get?id = iduye
Ecco cosa torniamo con questo comando:
Ottieni tutti i dati
Nella nostra ultima API REST, abbiamo interrogato i dati utilizzando un ID specifico. Questa volta, otterremo tutti i dati presenti nella nostra raccolta Solr.
Ottieni oggetto per ID
Curl http: // localhost: 8983/solr/linux_hint_collection/select?Q =*:*
Ecco cosa torniamo con questo comando:
Si noti che abbiamo usato '*:*' nel parametro di query. Ciò specifica che Solr dovrebbe restituire tutti i dati presenti nella raccolta. Anche se abbiamo specificato che tutti i dati dovrebbero essere restituiti, Solr comprende che la raccolta potrebbe avere una grande quantità di dati in essa e così, restituirà solo primi 10 documenti.
Eliminazione di tutti i dati
Fino ad ora, tutte le API che abbiamo provato stavano usando un formato JSON. Questa volta, proveremo al formato di query XML. L'uso del formato XML è estremamente simile a JSON poiché XML è anche autodscrittivo.
Proviamo un comando per eliminare tutti i dati che abbiamo nella nostra raccolta.
Eliminazione di tutti i dati
Curl "http: // localhost: 8983/solr/linux_hint_collection/update?commit = true "-h" contenuto-tipo: text/xml "--data-binary"*:*"
Ecco cosa torniamo con questo comando:
Elimina tutti i dati utilizzando la query XML
Ora, se proviamo di nuovo a ottenere tutti i dati, vedremo che non sono disponibili dati:
Ottieni tutti i dati
Conteggio totale degli oggetti
Per un comando Final Curl, vediamo un comando con cui possiamo trovare il numero di oggetti presenti in un indice. Ecco il comando per lo stesso:
Conteggio totale degli oggetti
Curl http: // localhost: 8983/solr/linux_hint_collection/query?debug = query & q =*:*
Ecco cosa torniamo con questo comando:
Contare il numero di oggetti
Conclusione
In questa lezione, abbiamo esaminato come possiamo usare Apache Solr e passare le query usando Curl in formato JSON e XML. Abbiamo anche visto che il pannello di amministrazione Solr è utile nello stesso modo di tutti i comandi di riccioli che abbiamo studiato.