Field有以下屬性,
name:mandatory,field的名字。
type:mandatory,在 <types>中預先定義好的類型名。
indexed:如果field需要被索引(可搜索或可排序),則定義爲true。
stored:如果field需要在查詢結果中顯示,則定義爲true。
multiValued:如果每一個document的這個field可能包含多個值,則定義爲true。
omitNorms:(expert) 設置爲true,則忽略filed有關的norms(thisdisables length normalization and index-time boosting for the field,節省內存)。只有全文filed或者需要index-timeboost的字段需要norms。原始類型(non-analyzed)的norms默認忽略掉。
termVectors:默認false,設置爲true來存儲給定filed的term vector,當使用相似檢索時,用來做相似詞的fileds應該被存儲來獲得最佳的性能。
注:所謂term vector就是對於documents的某一field,如title,bod這種文本類型的,建立詞頻的多維向量空間.每一個詞就是一維,這維的值就是這個詞在這個field中的頻率。
termPositions:存儲term vector的地址信息,會增加存儲的開銷。
termOffsets:存儲term vector的偏移量,會增加存儲開銷。
default:在添加一個document時,如果沒有指定值時,使用這個默認值。
dynamicField 節點:如果遇到沒有定義的field,可以通過匹配dynamicField來指定前綴後綴來匹配field名稱,比如_i可以匹配ID_i,i_*可以匹配i_ID。“*”只能是前綴或者後綴。
一下是與field相關的節點,
uniqueKey:可以唯一標識一個document的field。除非該field被標記爲required="false",否則這個field都是必須的。
defaultSearchField:當解析沒有明確指明field的querystring,queryparser會使用defaultSearchField。機器(非用戶)生成的查詢最好是明確的,或者會使用“df”(在solrconfig.xml),都比defaultSearchField優先。
Note:如果在solrconfig.xml裏定義了的df,df更優先,不建議再使用defaultSearchField。
copyField:在document被加入索引是,拷貝一個field到另一個field。可以用來給同一個field立不同的索引,或者添加多個field到同一個field,可以簡單快速的搜索。