Apache Solr - dodawanie dokumentów (XML)

W poprzednim rozdziale wyjaśniliśmy, jak dodawać dane do Solr, które są w plikach JSON i .CSV. W tym rozdziale pokażemy, jak dodać dane do indeksu Apache Solr przy użyciu formatu dokumentu XML.

Przykładowe dane

Załóżmy, że musimy dodać następujące dane do indeksu Solr przy użyciu formatu pliku XML.

legitymacja studencka Imię Nazwisko Telefon Miasto
001 Rajiv Reddy 9848022337 Hyderabad
002 Siddharth Bhattacharya 9848022338 Kalkuta
003 Rajesh Khanna 9848022339 Delhi
004 Preethi Agarwal 9848022330 Pune
005 Trupthi Mohanty 9848022336 Bhubaneshwar
006 Archana Mishra 9848022335 Chennai

Dodawanie dokumentów za pomocą XML

Aby dodać powyższe dane do indeksu Solr, musimy przygotować dokument XML, jak pokazano poniżej. Zapisz ten dokument w pliku o nazwiesample.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>

Jak można zauważyć, plik XML napisany w celu dodania danych do indeksu zawiera trzy ważne tagi, a mianowicie <add> </add>, <doc> </doc> i <field> </ field>.

  • add- To jest główny znacznik służący do dodawania dokumentów do indeksu. Zawiera jeden lub więcej dokumentów, które mają zostać dodane.

  • doc- Dodawane przez nas dokumenty powinny być opakowane w znaczniki <doc> </doc>. Ten dokument zawiera dane w postaci pól.

  • field - Znacznik pola zawiera nazwę i wartość pól dokumentu.

Po przygotowaniu dokumentu możesz dodać ten dokument do indeksu przy użyciu dowolnego ze środków omówionych w poprzednim rozdziale.

Załóżmy, że plik XML istnieje w bin katalogu Solr i ma być zindeksowany w rdzeniu o nazwie my_core, następnie możesz dodać go do indeksu Solr za pomocą post narzędzie w następujący sposób -

[Hadoop@localhost bin]$ ./post -c my_core sample.xml

Po wykonaniu powyższego polecenia otrzymasz następujące dane wyjściowe.

/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

Weryfikacja

Odwiedź stronę główną interfejsu internetowego Apache Solr i wybierz rdzeń my_core. Spróbuj pobrać wszystkie dokumenty, przekazując zapytanie „:” w polu tekstowymqi wykonaj zapytanie. Podczas wykonywania można zauważyć, że żądane dane są dodawane do indeksu Solr.