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.