Di recente ti ho guidato attraverso il processo di distribuzione della piattaforma di ricerca di livello aziendale, Apache Solr. Con questo strumento, puoi acquisire enormi quantità di dati ed eseguire potenti query di ricerca su di essi con evidenziazione dei risultati, indicizzazione in tempo reale, clustering dinamico e altro ancora.
Dopo aver distribuito Apache Solr, dovrai essere in grado di aggiungere i tuoi dati a una raccolta in modo che possano essere cercati. Qui importeremo un elenco di dati CSV (che può essere di qualsiasi dimensione) in una nuova raccolta, quindi eseguiremo una query sui nuovi dati.
Di cosa avrai bisogno
Per seguire questo, avrai bisogno di un'istanza in esecuzione di Apache Solr (con le credenziali utente Solr) e un file di dati CSV. Creerò un file di dati CSV di esempio che puoi utilizzare come modello.
Come creare un file CSV per l'importazione
La prima cosa che devi fare è accedere al server che ospita Apache Solr, tramite SSH o un accesso locale. Una volta effettuato l'accesso, crea il nuovo file con il comando:
nano ~/solrdata.csv
Puoi nominare questo file come preferisci e ospitarlo in qualsiasi directory. Crea una riga in alto che includa i nomi per ogni colonna:ho intenzione di dimostrare con un file CSV che definisce i paesi. La riga superiore definirà diversi elementi (come prefisso internazionale, regione e sottoregione) e avrà il seguente aspetto:
Open source:copertura da leggere
name,alpha-2,alpha-3,country-code,iso_3166-2,region,sub-region,intermediate-region,region-code,sub-region-code,intermediate-region-code
Il resto del file contiene voci come questa:
Afghanistan,AF,AFG,004,ISO 3166-2:AF,Asia,Southern Asia,"",142,034,""
Åland Islands,AX,ALA,248,ISO 3166-2:AX,Europe,Northern Europe,"",150,154,""
Albania,AL,ALB,008,ISO 3166-2:AL,Europe,Southern Europe,"",150,039,""
Algeria,DZ,DZA,012,ISO 3166-2:DZ,Africa,Northern Africa,"",002,015,""
American Samoa,AS,ASM,016,ISO 3166-2:AS,Oceania,Polynesia,"",009,061,""
Andorra,AD,AND,020,ISO 3166-2:AD,Europe,Southern Europe,"",150,039,""
Angola,AO,AGO,024,ISO 3166-2:AO,Africa,Sub-Saharan Africa,Middle Africa,002,202,017
Puoi scaricare l'intero file country.csv di esempio con il comando:
wget https://cdn.wsform.com/wp-content/uploads/2018/09/country.csv
Salva quel file sull'unità locale della macchina di hosting Apache Solr.
Come creare una nuova collezione
Ora creiamo una nuova raccolta per ospitare i dati del nostro paese. Chiameremo questa raccolta "country_data" e la creeremo con il comando:
su - solr -c "/opt/solr/bin/solr create -c country_data -n data_driven_schema_configs"
Ti verrà richiesta la password utente Solr. Una volta eseguita l'autenticazione, la raccolta verrà creata e sarai pronto per andare avanti.
Come importare i dati
Passare alla directory che ospita Solr con il comando:
cd /opt/solr
Possiamo quindi importare i dati con il comando:
./bin/post -c country_data /path/to/country.csv
Dove /path/to
è il percorso esatto della directory che contiene il file country.csv appena scaricato.
Dovresti vedere un output simile a questo:
Posting files to [base] url http://localhost:8983/solr/country_data/update...
Entering auto mode. File endings considered are xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
POSTing file country.csv (text/csv) to [base]
1 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/country_data/update...
Time spent: 0:00:02.674
Come visualizzare i nuovi dati
Accedi all'interfaccia web di Apache Solr puntando un browser su http://SERVER:8983
(dove SERVER
è l'indirizzo IP del server di hosting). Seleziona country_data dal menu a tendina newdata nella barra di navigazione a sinistra. Nella finestra risultante (Figura A ), fare clic su Interroga.
Figura A
Nella finestra risultante, fai clic su Esegui query senza modificare nulla e verrà elencato l'intero documento importato (Figura B ).
Figura B
Diciamo che vuoi cercare l'Irlanda. Digita "Irlanda" nella sezione q (sotto comune) e premi Esegui query. Il risultato elencherà solo la voce per, hai indovinato, l'Irlanda (Figura C ).
Figura C
Un modo ancora più semplice per importare dati CSV
C'è anche un modo più semplice per importare dati CSV in Apache Solr.
Supponiamo che tu abbia creato una nuova raccolta, chiamata datacollection, e desideri importare il file country.csv dall'interfaccia basata sul web. Accedi ad Apache Solr, seleziona la raccolta dati dal menu a discesa, quindi fai clic su Documenti nella barra di navigazione a sinistra. Nella finestra risultante, seleziona CSV dal menu a discesa Tipo di documento e quindi copia/incolla l'intero contenuto del file country.csv nella sezione Documenti (Figura D ).
Figura D
Fai clic su Invia documento e alla fine dovresti vedere (nel riquadro di destra) il seguente output:
Status: success
Response:
{
"responseHeader": {
"status": 0,
"QTime": 3533
}
}
Ora dovresti essere in grado di interrogare i tuoi dati importati nello stesso modo in cui lo facevi in precedenza.
E questo è tutto ciò che serve per importare dati in formato CSV in Apache Solr. Questo è uno strumento molto potente che rende molto semplice la ricerca di enormi raccolte di dati. Se la tua azienda fa affidamento sui dati, questo potrebbe essere uno dei tanti strumenti di cui hai bisogno.