Apache Solr - Aggiunta di documenti (XML)
Nel capitolo precedente, abbiamo spiegato come aggiungere dati in Solr che è nei formati di file JSON e .CSV. In questo capitolo, dimostreremo come aggiungere dati nell'indice Apache Solr utilizzando il formato documento XML.
Dati di esempio
Supponiamo di dover aggiungere i seguenti dati all'indice Solr utilizzando il formato di file XML.
ID studente | Nome di battesimo | Cognome | Telefono | Città |
---|---|---|---|---|
001 | Rajiv | Reddy | 9848022337 | Hyderabad |
002 | Siddharth | Bhattacharya | 9848022338 | Calcutta |
003 | Rajesh | Khanna | 9848022339 | Delhi |
004 | Preethi | Agarwal | 9848022330 | Pune |
005 | Trupthi | Mohanty | 9848022336 | Bhubaneshwar |
006 | Archana | Mishra | 9848022335 | Chennai |
Aggiunta di documenti utilizzando XML
Per aggiungere i dati di cui sopra nell'indice Solr, dobbiamo preparare un documento XML, come mostrato di seguito. Salva questo documento in un file con il nomesample.xml.
<add>
<doc>
<field name = "id">001</field>
<field name = "first name">Rajiv</field>
<field name = "last name">Reddy</field>
<field name = "phone">9848022337</field>
<field name = "city">Hyderabad</field>
</doc>
<doc>
<field name = "id">002</field>
<field name = "first name">Siddarth</field>
<field name = "last name">Battacharya</field>
<field name = "phone">9848022338</field>
<field name = "city">Kolkata</field>
</doc>
<doc>
<field name = "id">003</field>
<field name = "first name">Rajesh</field>
<field name = "last name">Khanna</field>
<field name = "phone">9848022339</field>
<field name = "city">Delhi</field>
</doc>
<doc>
<field name = "id">004</field>
<field name = "first name">Preethi</field>
<field name = "last name">Agarwal</field>
<field name = "phone">9848022330</field>
<field name = "city">Pune</field>
</doc>
<doc>
<field name = "id">005</field>
<field name = "first name">Trupthi</field>
<field name = "last name">Mohanthy</field>
<field name = "phone">9848022336</field>
<field name = "city">Bhuwaeshwar</field>
</doc>
<doc>
<field name = "id">006</field>
<field name = "first name">Archana</field>
<field name = "last name">Mishra</field>
<field name = "phone">9848022335</field>
<field name = "city">Chennai</field>
</doc>
</add>
Come puoi osservare, il file XML scritto per aggiungere dati all'indice contiene tre tag importanti e cioè <add> </add>, <doc> </doc> e <field> </ field>.
add- Questo è il tag radice per l'aggiunta di documenti all'indice. Contiene uno o più documenti che devono essere aggiunti.
doc- I documenti che aggiungiamo dovrebbero essere inseriti nei tag <doc> </doc>. Questo documento contiene i dati sotto forma di campi.
field - Il tag del campo contiene il nome e il valore dei campi del documento.
Dopo aver preparato il documento, è possibile aggiungere questo documento all'indice utilizzando uno dei mezzi discussi nel capitolo precedente.
Supponiamo che il file XML esista in bin directory di Solr e deve essere indicizzato nel core denominato my_core, quindi puoi aggiungerlo all'indice Solr usando il post strumento come segue -
[[email protected] bin]$ ./post -c my_core sample.xml
Eseguendo il comando precedente, otterrai il seguente output.
/home/Hadoop/java/bin/java -classpath /home/Hadoop/Solr/dist/Solr-
core6.2.0.jar -Dauto = yes -Dc = my_core -Ddata = files
org.apache.Solr.util.SimplePostTool sample.xml
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/Solr/my_core/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 sample.xml (application/xml) to [base]
1 files indexed.
COMMITting Solr index changes to http://localhost:8983/Solr/my_core/update...
Time spent: 0:00:00.201
Verifica
Visita la home page dell'interfaccia web di Apache Solr e seleziona il core my_core. Prova a recuperare tutti i documenti passando la query ":" nell'area di testoqed eseguire la query. Durante l'esecuzione, è possibile osservare che i dati desiderati vengono aggiunti all'indice Solr.