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:
[[email protected] 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.