枚舉欄位
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 設定檔
以 enumsConfig
參數命名的檔案可以包含多個具有不同名稱的列舉值清單,如果您的 Solr 結構描述中有多個列舉用途。
在本範例中,定義了兩個值清單。每個清單都在 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>
變更值
您無法在不重新索引的情況下變更 但是,您可以在末尾新增新值。 |