Solr新增文件(XML)


在上一章中,我們學習解釋了如何向Solr中新增JSON.CSV檔案格式的資料。在本章中,將演示如何使用XML文件格式在Apache Solr索引中新增資料。

範例資料

假設我們需要使用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

使用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 >

  • add ? 這是用於將文件新增到索引的根標記。它包含一個或多個要新增的文件。
  • doc ? 新增的文件應該包含在<doc> </ doc>標記中。文件包含欄位形式的資料。
  • field ? 欄位標記包含文件的欄位的名稱和值。

準備好文件後,可以使用上一章中討論的任何方法將此文件新增到索引。

假設XML檔案(sample.xml)存在於Solrbin目錄中,並且它將在名稱為my_core的核心中進行索引,那麼可以使用post工具將其新增到Solr索引中,如下所示 -

[yiibai@ubuntu:/usr/local/solr-6.4.0/bin]$ ./post -c my_core sample.xml

執行上述命令後,將得到以下輸出 -

yiibai@ubuntu:/usr/local/solr-6.4.0/bin$ ./post -c my_core sample.xml
/usr/local/jdk1.8.0_65/bin/java -classpath /usr/local/solr-6.4.0/dist/solr-core-6.4.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.756

驗證上面的操作

存取Apache Solr Web介面的主頁並選擇核心my_core。嘗試通過在文字區域q中傳遞查詢「:」來檢索所有文件,並執行查詢。執行時應該可以觀察到所需的資料被新增到Solr索引。