solr update接口經常使用方法

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/>
相關文章
相關標籤/搜索