枚举字段
EnumFieldType 允许定义一个值是封闭集合的字段,并且排序顺序是预先确定的,但不是按字母顺序或数字顺序排列的。例如,严重性列表或风险定义。
EnumField 已弃用
EnumField 已弃用,取而代之的是 EnumFieldType;以下所有配置示例都使用 EnumFieldType。 |
在模式中定义 EnumFieldType
EnumFieldType 类型定义非常简单,如下例所示,为“priorityLevel”和“riskLevel”枚举定义字段类型
<fieldType name="priorityLevel" class="solr.EnumFieldType" docValues="true" enumsConfig="enumsConfig.xml" enumName="priority"/>
<fieldType name="riskLevel" class="solr.EnumFieldType" docValues="true" 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>
更改值
在不重新建立索引的情况下,您不能更改 但是,您可以向末尾添加新值。 |