Apache Solr - Agregar documentos (XML)

En el capítulo anterior, explicamos cómo agregar datos a Solr, que está en formatos de archivo JSON y .CSV. En este capítulo, demostraremos cómo agregar datos en el índice Apache Solr usando formato de documento XML.

Data de muestra

Supongamos que necesitamos agregar los siguientes datos al índice de Solr usando el formato de archivo XML.

Identificación del Estudiante Nombre de pila Apellido Teléfono Ciudad
001 Rajiv Reddy 9848022337 Hyderabad
002 Siddharth Bhattacharya 9848022338 Calcuta
003 Rajesh Khanna 9848022339 Delhi
004 Preethi Agarwal 9848022330 Pune
005 Trupthi Mohanty 9848022336 Bhubaneshwar
006 Archana Mishra 9848022335 Chennai

Agregar documentos usando XML

Para agregar los datos anteriores al índice de Solr, necesitamos preparar un documento XML, como se muestra a continuación. Guarde este documento en un archivo con el nombresample.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>

Como puede observar, el archivo XML escrito para agregar datos al índice contiene tres etiquetas importantes, a saber, <add> </add>, <doc> </doc> y <field> </ field>.

  • add- Esta es la etiqueta raíz para agregar documentos al índice. Contiene uno o más documentos que se van a agregar.

  • doc- Los documentos que agreguemos deben estar dentro de las etiquetas <doc> </doc>. Este documento contiene los datos en forma de campos.

  • field - La etiqueta de campo contiene el nombre y el valor de los campos del documento.

Después de preparar el documento, puede agregar este documento al índice utilizando cualquiera de los medios discutidos en el capítulo anterior.

Suponga que el archivo XML existe en el bin directorio de Solr y se indexará en el núcleo llamado my_core, luego puede agregarlo al índice Solr usando el post herramienta de la siguiente manera:

[Hadoop@localhost bin]$ ./post -c my_core sample.xml

Al ejecutar el comando anterior, obtendrá el siguiente resultado.

/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

Verificación

Visite la página de inicio de la interfaz web de Apache Solr y seleccione el núcleo my_core. Intente recuperar todos los documentos pasando la consulta ":" en el área de textoqy ejecutar la consulta. Al ejecutar, puede observar que los datos deseados se agregan al índice de Solr.