solr 添加索引

添加索引模板:

<add>
  <doc>
    <field name="employeeId">05991</field>
    <field name="office">Bridgewater</field>
    <field name="skills">Perl</field>
    <field name="skills">Java</field>
  </doc>
  [<doc> ... </doc>[<doc> ... </doc>]]
</add>

 <add overwrite="true" commitWithin="1000">属性

  • overwrite = "true" | "false" — 默认是 "true", 当主键存在时是否覆盖。

  • commitWithin = "(milliseconds)" 当这个属性存在时,索引将会在指定的毫秒后更新

<doc>属性

  boost = <float> —默认是1.0,solr是根据评分来确定文档的相关度的,通过该设置可以人为提高分数,最终评分将是score*boost。

<field>属性

  • update = "add" | "set" | "inc" — 可以设置当前字段时 添加呢?还是更新呢?

  • boost = <float> — default is 1.0 (See SolrRelevancyFAQ)

    •  跟<doc>属性的boost一样,人为提供该字段分值(solr是先计算字段的得分,再计算整个文档的得分)

 

下面是一些简单的实例:

添加带boost属性的文档

  • <add>
      <doc boost="2.5">
        <field name="employeeId">05991</field>
        <field name="office" boost="2.0">Bridgewater</field>
      </doc>
    </add>

     

添加<field>节点带update属性的文档

  • <add>
      <doc>
        <field name="employeeId">05991</field>
        <field name="office" update="set">Walla Walla</field>
        <field name="skills" update="add">Python</field>
      </doc>
    </add>

     

添加<field>节点为多值,带update属性的文档

  • <add>
      <doc>
        <field name="employeeId">05991</field>
        <field name="skills" update="set">Python</field>
        <field name="skills" update="set">Java</field>
        <field name="skills" update="set">Jython</field>
      </doc>
    </add>

     

设置一个<field>值为null

  • <add>
      <doc>
        <field name="employeeId">05991</field>
        <field name="skills" update="set" null="true" />
      </doc>
    </add>

     

 

     

    posted @ 2014-01-03 17:02  East神奇  阅读(715)  评论(0编辑  收藏  举报