Apache Solr - 添加文档 (XML)


在上一章中,我们解释了如何将 JSON 和 .CSV 文件格式的数据添加到 Solr 中。在本章中,我们将演示如何使用 XML 文档格式在 Apache Solr 索引中添加数据。

样本数据

假设我们需要使用 XML 文件格式将以下数据添加到 Solr 索引中。

学生卡 电话 城市
001 拉吉夫 雷迪 9848022337 海得拉巴
002 悉达多 巴塔查亚 9848022338 加尔各答
003 拉杰什 卡纳 9848022339 德里
004 普雷蒂 阿加瓦尔 9848022330 浦那
005 特鲁普蒂 莫汉蒂 9848022336 布巴内斯瓦尔
006 阿卡纳 米斯拉 9848022335 钦奈

使用 XML 添加文档

要将上述数据添加到Solr索引中,我们需要准备一个XML文档,如下所示。将此文档保存在名为example.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>

正如您所观察到的,为将数据添加到索引而编写的 XML 文件包含三个重要的标记,即 <add> </add>、<doc></doc> 和 <field></field>。

  • add - 这是用于将文档添加到索引的根标签。它包含一个或多个要添加的文档。

  • doc - 我们添加的文档应该包含在 <doc></doc> 标签内。该文档包含字段形式的数据。

  • field - 字段标签保存文档字段的名称和值。

准备好文档后,您可以使用上一章中讨论的任何方法将此文档添加到索引中。

假设 XML 文件存在于Solr 的bin目录中,并且要在名为my_core的核心中建立索引,那么您可以使用post工具将其添加到 Solr 索引中,如下所示 -

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

执行上述命令后,您将得到以下输出。

/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

确认

访问 Apache Solr Web 界面的主页并选择核心my_core尝试通过在文本区域q中传递查询“:”来检索所有文档并执行查询。执行时,您可以观察到所需的数据已添加到 Solr 索引中。

索尔指数