Apache Solr - Добавление документов (XML)
В предыдущей главе мы объяснили, как добавлять данные в Solr в форматах файлов JSON и .CSV. В этой главе мы продемонстрируем, как добавлять данные в индекс Apache Solr, используя формат документа XML.
Пример данных
Предположим, нам нужно добавить следующие данные в индекс Solr, используя формат файла XML.
Студенческий билет | Имя | Фамилия | Телефон | город |
---|---|---|---|---|
001 | Раджив | Редди | 9848022337 | Хайдарабад |
002 | Сиддхартх | Бхаттачарья | 9848022338 | Калькутта |
003 | Раджеш | Ханна | 9848022339 | Дели |
004 | Preethi | Агарвал | 9848022330 | Пуна |
005 | Trupthi | Моханти | 9848022336 | Бхубанешвар |
006 | Арчана | Мишра | 9848022335 | Ченнаи |
Добавление документов с помощью 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 существует в 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.