В предыдущей главе мы объяснили, как добавлять данные в 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.