Apache Solr 简明教程

Apache Solr - Adding Documents (XML)

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

Sample Data

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

Student ID

First Name

Last Name

Phone

City

001

Rajiv

Reddy

9848022337

Hyderabad

002

Siddharth

Bhattacharya

9848022338

Kolkata

003

Rajesh

Khanna

9848022339

Delhi

004

Preethi

Agarwal

9848022330

Pune

005

Trupthi

Mohanty

9848022336

Bhubaneshwar

006

Archana

Mishra

9848022335

Chennai

Adding Documents Using XML

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

  1. add − 这是要添加到索引中的文档的根标记。它包含至少一个要添加的文档。

  2. doc − 我们添加的文档应该包含在 <doc></doc> 标记中。此文档以字段的形式包含数据。

  3. 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

Verification

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

solr index