Apache Solr - Belge Ekleme (XML)
Önceki bölümde JSON ve .CSV dosya formatlarında olan Solr'a nasıl veri ekleneceğini anlatmıştık. Bu bölümde, XML belge biçimini kullanarak Apache Solr dizinine nasıl veri ekleneceğini göstereceğiz.
Örnek veri
XML dosya formatını kullanarak aşağıdaki verileri Solr indeksine eklememiz gerektiğini varsayalım.
Öğrenci Kimliği | İsim | Soyadı | Telefon | Kent |
---|---|---|---|---|
001 | Rajiv | Reddy | 9848022337 | Haydarabad |
002 | Siddharth | Bhattacharya | 9848022338 | Kalküta |
003 | Rajesh | Khanna | 9848022339 | Delhi |
004 | Preethi | Agarwal | 9848022330 | Pune |
005 | Trupthi | Mohanty | 9848022336 | Bhubaneshwar |
006 | Archana | Mishra | 9848022335 | Chennai |
XML Kullanarak Belge Ekleme
Yukarıdaki verileri Solr indeksine eklemek için aşağıda gösterildiği gibi bir XML belgesi hazırlamamız gerekiyor. Bu belgeyi şu adla bir dosyaya kaydedinsample.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>
Gördüğünüz gibi, dizine veri eklemek için yazılan XML dosyası, <add> </add>, <doc> </doc> ve <field> </ field> olmak üzere üç önemli etiket içerir.
add- Bu, dizine belge eklemek için kullanılan kök etikettir. Eklenecek bir veya daha fazla belge içerir.
doc- Eklediğimiz belgeler <doc> </doc> etiketleri arasına yerleştirilmelidir. Bu belge, alanlar biçiminde verileri içerir.
field - Alan etiketi, belgenin alanlarının adını ve değerini içerir.
Belgeyi hazırladıktan sonra, önceki bölümde tartışılan yöntemlerden herhangi birini kullanarak bu belgeyi dizine ekleyebilirsiniz.
XML dosyasının şu dosyada olduğunu varsayalım: bin Solr dizini ve adlı çekirdekte indekslenecek my_core, ardından bunu kullanarak Solr dizinine ekleyebilirsiniz. post aşağıdaki gibi araç -
[Hadoop@localhost bin]$ ./post -c my_core sample.xml
Yukarıdaki komutu çalıştırdığınızda, aşağıdaki çıktıyı alacaksınız.
/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
Doğrulama
Apache Solr web arayüzünün ana sayfasını ziyaret edin ve çekirdeği seçin my_core. Metin alanına ":" sorgusunu ileterek tüm belgeleri almaya çalışınqve sorguyu yürütün. Yürütme sırasında, istenen verilerin Solr indeksine eklendiğini görebilirsiniz.