Apache Solr - Ajout de documents (XML)

Dans le chapitre précédent, nous avons expliqué comment ajouter des données dans Solr au format de fichier JSON et .CSV. Dans ce chapitre, nous montrerons comment ajouter des données dans un index Apache Solr à l'aide du format de document XML.

Exemple de données

Supposons que nous devions ajouter les données suivantes à l'index Solr en utilisant le format de fichier XML.

Carte d'étudiant Prénom Nom de famille Téléphone Ville
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

Ajout de documents à l'aide de XML

Pour ajouter les données ci-dessus dans l'index Solr, nous devons préparer un document XML, comme indiqué ci-dessous. Enregistrez ce document dans un fichier avec le nomsample.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>

Comme vous pouvez le constater, le fichier XML écrit pour ajouter des données à l'index contient trois balises importantes à savoir, <add> </add>, <doc> </doc> et <field> </ field>.

  • add- Il s'agit de la balise racine pour ajouter des documents à l'index. Il contient un ou plusieurs documents à ajouter.

  • doc- Les documents que nous ajoutons doivent être enveloppés dans les balises <doc> </doc>. Ce document contient les données sous forme de champs.

  • field - La balise de champ contient le nom et la valeur des champs du document.

Après avoir préparé le document, vous pouvez ajouter ce document à l'index en utilisant l'un des moyens décrits dans le chapitre précédent.

Supposons que le fichier XML existe dans le bin répertoire de Solr et il doit être indexé dans le noyau nommé my_core, vous pouvez ensuite l'ajouter à l'index Solr en utilisant le post outil comme suit -

[[email protected] bin]$ ./post -c my_core sample.xml

En exécutant la commande ci-dessus, vous obtiendrez la sortie suivante.

/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

Vérification

Visitez la page d'accueil de l'interface Web d'Apache Solr et sélectionnez le noyau my_core. Essayez de récupérer tous les documents en passant la requête «:» dans la zone de texteqet exécutez la requête. Lors de l'exécution, vous pouvez observer que les données souhaitées sont ajoutées à l'index Solr.