1.4.2 solr字段类型--(1.4.2.5)使用枚举字段

1.4.2 solr字段类型

  (1.4.2.1) 字段类型定义和字段类型属性.

  (1.4.2.2) solr附带的字段类型

  (1.4.2.3) 使用货币和汇率

  (1.4.2.4) 使用Dates(日期)

  (1.4.2.5) 使用枚举字段

  (1.4.2.6) 使用外部文件和程序

  (1.4.2.7) 字段属性使用案例

 

使用枚举字段

  枚举字段类型允许定义一个这样的字段,字段的值是一个封闭的结果集.这排列顺序是预先定义好的,不是按照字母或者数字大小排序的.如严重性列表或者是风险定义的例子.

在schema.xml中定义一个EnumField.

<fieldType name="severityType" class="solr.EnumField" enumsConfig="enumsConfig.xml" enumName="severity"/>

 

name和class是所有字段类型的常规属性,这个类型还有额外的两个参数:

  enumsConfig:配置文件的名称,配置文件里包含字段的值和相应的顺序,这个文件中可以包含几个不同字段值的列表.如果在solr应用中这个字段类型有多种用途的话.

  enumName:用于这个类型的配置文件中列表的名称.(因为配置文件中有多个列表,所以需要选择一个列表的名称来做定位)

定义EnumField配置文件

  文件名称在enumsConfig参数中定义,文件中应该定义name:value键值对,name是字段值,value是顺序号.高值value成员排在低value成员前面.如果在字段类型中没有定义路径,这个文件应该在对应集合(collection)的conf目录下.

  在这个例子中,定义了两个列表的值.

<?xml version="1.0" ?>
<enumsConfig>
  <enum name="severity">
    <pair name="Not Available" value="0"/>
    <pair name="Low" value="1"/>
    <pair name="Medium" value="2"/>
    <pair name="High" value="3"/>
    <pair name="Critical" value="4"/>
  </enum>
  <enum name="risk">
    <pair name="Unknown" value="0"/>
    <pair name="Very Low" value="1"/>
    <pair name="Low" value="2"/>
    <pair name="Medium" value="3"/>
    <pair name="High" value="4"/>
    <pair name="Critical" value="5"/>
  </enum>
</enumsConfig>

 

posted @ 2015-02-10 22:14  勿妄  阅读(1676)  评论(0编辑  收藏  举报