solr update接口常用方法


solr索引數據更新接口:http://localhost:8080/solr/update

有以下一些操作可以通過update接口完成,只能使用post的形式提交數據。

 

1、添加索引

確保field已全部在schemal.xml 中定義,日期格式要求的比較奇葩,但必須符合他的格式。此處adaptor,director在schemal.xml中設置了多值屬性(multiValued=true)可以看出此處對應的添加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>

 

2、刪除索引

  刪除單挑索引時,必須指定主鍵值,主鍵也就是你再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包含“謝娜”的索引

<?xml version="1.0" encoding="utf-8"?>

<delete>
  <query>otherName:謝娜</query>
</delete>

 

3、更新索引

  當用戶添加索引后,索引庫是不會馬上更新的(除非已設置自動更新),那么要讓他立即生效的話,提交如下數據即可。

<commit/>

 

4、重建索引

  當索引庫經過多次刪除、插入等操作時,索引庫將產生很多碎片數據,重建索引將提高索引效率,提交如下數據即可。

  建議在應用負荷量較小的時間段進行,如凌晨時段。

<optimize/>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM