solr索引數據更新接口:http://localhost:8080/solr/updatepost
有如下一些操做能夠經過update接口完成,只能使用post的形式提交數據。spa
一、添加索引code
確保field已所有在schemal.xml 中定義,日期格式要求的比較奇葩,但必須符合他的格式。此處adaptor,director在schemal.xml中設置了多值屬性(multiValued=true)能夠看出此處對應的添加xml格式。xml
<?xml version="1.0" encoding="utf-8"?> <add> <doc> <field name="clipId">6206</field> <field name="clipName">謝娜和彭宇上演現場版野蠻女朋友</field> <field name="eName"/> <field name="otherName">謝娜和彭宇上演現場版野蠻女朋友</field> <field name="story">謝娜和彭宇上演現場版野蠻女朋友。</field> <field name="scenarist"/> <field name="adaptor">謝娜</field> <field name="adaptor">彭宇</field> <field name="director">馬可</field> <field name="director">彭宇</field> <field name="director">李好</field> <field name="director">李響</field> <field name="kind"/> <field name="area"/> <field name="clicks">3334</field> <field name="releaseDate">2009-08-10T00:00:00Z</field> </doc> </add>
二、刪除索引blog
刪除單挑索引時,必須指定主鍵值,主鍵也就是你再schemal.xml中<uniqueKey>clipId</uniqueKey>節點定義的。索引
<?xml version="1.0" encoding="utf-8"?> <delete> <id>unikey</id> </delete>
固然也能夠批量刪除索引,只要在<query>節點中定義好查詢語句,solr將刪除所查詢到的全部索引。提交以下數據將清空索引。接口
<?xml version="1.0" encoding="utf-8"?> <delete> <query>*:*</query> </delete>
提交以下數據,將刪除全部otherName包含「謝娜」的索引ip
<?xml version="1.0" encoding="utf-8"?> <delete> <query>otherName:謝娜</query> </delete>
三、更新索引utf-8
當用戶添加索引後,索引庫是不會立刻更新的(除非已設置自動更新),那麼要讓他當即生效的話,提交以下數據便可。get
<commit/>
四、重建索引
當索引庫通過屢次刪除、插入等操做時,索引庫將產生不少碎片數據,重建索引將提升索引效率,提交以下數據便可。
建議在應用負荷量較小的時間段進行,如凌晨時段。
<optimize/>