枚举字段
EnumFieldType 允许定义一个字段,其值是一个封闭集合,并且排序顺序是预先确定的,但不是按字母顺序或数字顺序排列。这方面的示例是严重性列表或风险定义。
EnumField 已被弃用
EnumField 已被弃用,改为使用 EnumFieldType;以下所有配置示例均使用 EnumFieldType。 |
在模式中定义 EnumFieldType
EnumFieldType 类型定义非常简单,如下例中定义了“priorityLevel”和“riskLevel”枚举的字段类型
<fieldType name="priorityLevel" class="solr.EnumFieldType" enumsConfig="enumsConfig.xml" enumName="priority"/>
<fieldType name="riskLevel" class="solr.EnumFieldType" enumsConfig="enumsConfig.xml" enumName="risk" />
除了所有字段类型通用的 name
和 class
之外,此类型还接受两个额外的参数
enumsConfig
-
必需
默认值:无
包含
<enum/>
字段值及其顺序的配置文件的名称,您希望将其用于此字段类型。如果未指定文件的路径,则该文件应位于集合的conf
目录中。 enumName
-
必需
默认值:无
要在
enumsConfig
文件中使用的此类型的特定枚举的名称。
请注意,必须在字段类型或字段定义中指定 docValues="true"
。
定义 EnumFieldType 配置文件
如果您的 Solr 模式中有多个枚举用途,则使用 enumsConfig
参数命名的文件可以包含具有不同名称的多个枚举值列表。
在此示例中,定义了两个值列表。每个列表都在 enum
开闭标签之间
<?xml version="1.0" ?>
<enumsConfig>
<enum name="priority">
<value>Not Available</value>
<value>Low</value>
<value>Medium</value>
<value>High</value>
<value>Urgent</value>
</enum>
<enum name="risk">
<value>Unknown</value>
<value>Very Low</value>
<value>Low</value>
<value>Medium</value>
<value>High</value>
<value>Critical</value>
</enum>
</enumsConfig>
更改值
您不能更改 但是,您可以将新值添加到末尾。 |