Solr對外提供標準的http接口來實現對數據的索引的增長、刪除、修改、查詢。在 Solr 中,用戶經過向部署在servlet 容器中的 Solr Web 應用程序發送 HTTP 請求來啓動索引和搜索。Solr 接受請求,肯定要使用的適當SolrRequestHandler,而後處理請求。經過 HTTP 以一樣的方式返回響應。默認配置返回 Solr 的標準 XML 響應,也能夠配置 Solr 的備用響應格式。
能夠向 Solr 索引 servlet 傳遞四個不一樣的索引請求:
add/update 容許向 Solr 添加文檔或更新文檔。直到提交後才能搜索到這些添加和更新。
commit 告訴 Solr,應該使上次提交以來所作的全部更改均可以搜索到。
optimize 重構 Lucene 的文件以改進搜索性能。索引完成後執行一下優化一般比較好。若是更新比較頻繁,則應該在使用率較低的時候安排優化。一個索引無需優化也能夠正常地運行。優化是一個耗時較多的過程。
delete 能夠經過 id 或查詢來指定。按 id 刪除將刪除具備指定 id 的文檔;按查詢刪除將刪除查詢返回的全部文檔。
一個典型的Add請求報文 Xml代碼
1. <add>
2. <doc>
3. <field name="id">TWINX2048-3200PRO</field>
4. <field name="name">CORSAIR XMS 2GB (2 x 1GB) 184-Pin DDR S
DRAM Unbuffered DDR 400 (PC 3200) Dual Channel Kit System Memory - Retail</field>
5. <field name="manu">Corsair Microsystems Inc.</field>
6. <field name="cat">electronics</field>
7. <field name="cat">memory</field>
8. <field name="features">CAS latency 2, 2-3-3-6 timing, 2.75v
, unbuffered, heat-spreader</field>
9. <field name="price">185</field>
10. <field name="popularity">5</field>
11. <field name="inStock">true</field>
12. </doc>
13. <doc>
14. <field name="id">VS1GB400C3</field>
15. <field name="name">CORSAIR ValueSelect 1GB 184-Pin DDR SDRA
M Unbuffered DDR 400 (PC 3200) System Memory - Retail</field>
16. <field name="manu">Corsair Microsystems Inc.</field>
17. <field name="cat">electronics</field>
18. <field name="cat">memory</field>
19. <field name="price">74.99</field>
20. <field name="popularity">7</field>
21. <field name="inStock">true</field>
22. </doc>
23.</add>
一個典型的搜索結果報文: Xml代碼
1. <response>
2. <lst name="responseHeader">
3. <int name="status">0</int>
4. <int name="QTime">6</int>
5. <lst name="params">
6. <str name="rows">10</str>
7. <str name="start">0</str>
8. <str name="fl">*,score</str>
9. <str name="hl">true</str>
10. <str name="q">content:"faceted browsing"</str>
11. </lst>
12. </lst>
13.
14. <result name="response" numFound="1" start="0" maxScore="1.058217">
15. <doc>
16. <float name="score">1.058217</float>
17. <arr name="all">
18. <str>http://localhost/myBlog/solr-rocks-again.h
tml</str>
19. <str>Solr is Great</str>
20. <str>solr,lucene,enterprise,search,greatness</str>
21. <str>Solr has some really great features, like
faceted browsing and replication</str>
22. </arr>
23. <arr name="content">
24. <str>Solr has some really great features, like
faceted browsing and replication</str>
25. </arr>
26. <date name="creationDate">2007-01-07T05:04:00.000Z</date>
27. <arr name="keywords">
28. <str>solr,lucene,enterprise,search,greatness</str>
29. </arr>
30. <int name="rating">8</int>
31. <str name="title">Solr is Great</str>
32. <str name="url">http://localhost/myBlog/solr-rocks-again.html</str>
33. </doc>
34. </result>
35.
36. <lst name="highlighting">
37. <lst name="http://localhost/myBlog/solr-rocks-again.html">
38. <arr name="content">
39. <str>Solr has some really great features, like
<em>faceted</em>
40. <em>browsing</em> and replication</str>
41. </arr>
42. </lst>
43. </lst> html
44.</response> electron