Учебники

Apache Solr — Добавление документов (XML)

В предыдущей главе мы объяснили, как добавлять данные в Solr в форматах файлов JSON и .CSV. В этой главе мы покажем, как добавлять данные в индекс Apache Solr, используя формат документа XML.

Пример данных

Предположим, нам нужно добавить следующие данные в индекс Solr, используя формат файла XML.

Студенческий билет Имя Фамилия Телефон город
001 Раджив Reddy 9848022337 Хайдарабад
002 Сиддхарт Бхаттачария 9848022338 Kolkata
003 Раджеш Кханна 9848022339 Дели
004 Preethi Агарвал 9848022330 Пуна
005 Trupthi Mohanty 9848022336 Бхубанешвара
006 Archana Мишра 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 — тег field содержит имя и значение полей документа.

add — это корневой тег для добавления документов в индекс. Он содержит один или несколько документов, которые необходимо добавить.

doc — документы, которые мы добавляем, должны быть заключены в теги <doc> </ doc>. Этот документ содержит данные в виде полей.

field — тег field содержит имя и значение полей документа.

После подготовки документа вы можете добавить этот документ в индекс, используя любое из средств, рассмотренных в предыдущей главе.

Предположим, что XML-файл существует в каталоге bin Solr и он должен быть проиндексирован в ядре с именем my_core , затем вы можете добавить его в индекс Solr с помощью инструмента post следующим образом:

[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 и выберите ядро my_core . Попробуйте получить все документы, введя запрос «:» в текстовой области q и выполните запрос. При выполнении вы можете заметить, что нужные данные добавляются в индекс Solr.