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/>
相关文章
相关标签/搜索