国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

Solr如何定義字段

2018-11-11 16:03 更新

字段是在 schema.xml 的字段元素中定義的。一旦你設置了字段類型,那么定義 Solr 字段本身很簡單了。

示例-字段定義

以下示例定義了一個類型名為 float 并且默認值為 0.0 的名為 price 的字段;indexed 和 stored 特性明確地設置為 true,而在 float 字段類型上指定的任何其他屬性都將被繼承。

<field name="price" type="float" default="0.0" indexed="true" stored="true"/>

字段屬性

字段定義可以具有以下屬性:

name

該字段的名稱。字段名稱只能由字母數(shù)字或下劃線字符組成,不能以數(shù)字開頭。目前這并不是嚴格執(zhí)行的,但其他字段名稱將不具備所有組件的第一類支持,并且不保證向后的兼容性。帶有前導和后綴下劃線的名稱(例如,_version_)被保留。每個字段都必須有一個name

type

fieldType字段的名稱。這將namefieldType定義的name屬性中找到。每個字段都必須有一個type。

default

將自動添加到在索引時該字段中沒有值的任何文檔的默認值。如果這個屬性沒有指定,那么沒有默認值。

可選的字段類型重寫屬性

字段可以具有許多與字段類型相同的屬性。下表中的屬性在單個字段中指定,將重寫在字段的 fieldType 上指定的該屬性的任何顯式值,或者由基礎 fieldType 實現(xiàn)所提供的任何隱式默認屬性值。下表從字段類型定義和屬性轉載,其中有更多詳細信息:

屬性 描述 取值 隱含默認值

indexed

如果為 true,則可以在查詢中使用該字段的值來檢索匹配的文檔。

true 或者 false

true

stored

如果為 true,則字段的實際值可以通過查詢來檢索。

true 或者 false

true

docValues

如果為 true,則該字段的值將被放入一個面向列的 DocValues 結構中。

true 或者 false

false

sortMissingFirst 

sortMissingLast

排序字段不存在時控制文檔的位置。

true 或者 false

false

multiValued

如果為 true,則表示單個文檔可能包含此字段類型的多個值。

true 或者 false

false

omitNorms

如果為 true,則省略與該字段關聯(lián)的規(guī)范(這將禁用該字段的長度規(guī)范化,并保存一些內存)。對于所有基元 (non-analyzed) 字段類型(如 int、float、data、bool 和 string)的默認值均為true。只有全文字段或字段需要規(guī)范

true 或者 false

*

omitTermFreqAndPositions

如果為 true,則省略該字段過帳的術語頻率、位置和有效載荷。這可以提高不需要這些信息的字段的性能。這也減少了索引所需的存儲空間。依賴于使用此選項在字段上發(fā)布的位置的查詢將悄然無法找到文檔。對于不是文本字段的所有字段類型,此屬性默認為 true。

true 或者 false

*

omitPositions

類似于omitTermFreqAndPositions但保留了詞頻信息。

true 或者 false

*

termVectors termPositions termOffsets termPayloads

這些選項指示 Solr 維護每個文檔的全部向量矢量,可選地包括這些向量中每個詞條出現(xiàn)的位置,偏移和有效載荷信息。這些可以用來加速突出顯示和其他輔助功能,但在索引大小方面會帶來相當大的成本。對于 Solr 的典型用途,它們不是必需的。

true 或者 false

false

required

指示 Solr 拒絕任何嘗試添加一個文件,該文件沒有這個字段的值。該屬性默認為 false。

true 或者 false

false

useDocValuesAsStored

如果該字段已docValues啟用,則將其設置為true將允許stored=false在fl參數(shù)中匹配“*”時,將該字段作為存儲字段返回(即使有)。

true 或者 false

true

large

如果實際值<512KB,則大字段總是被延遲加載,并且只占用文檔高速緩存中的空間。這個選項需要stored="true"multiValued="false"。它的目的是為了可能有非常大的值,以便他們不被緩存在內存中的字段。

true 或者 false

false

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號