solr_專題:schema 之 fields

一、<fields> 中提供的可選屬性

1、name(必須):域的名稱

2、type(必須):域的類型,來自於 FieldType。

3、indexed=true|false:是否建立索引

4、stored=true|false:是否存儲

5、docValues=true|false:加快索引。應用於分面,分組,排序和查詢。只對指定的數據類型有效:StrField、Trie*Field 和 UUIDField。

6、multiValued=true|false:多值。

7、omitNorms=true|false:忽略規範

8、termVectors=true|false:true 會存儲 term vector。當使用近似索引時,用來作爲相似詞的域應該存儲起來

9、termPosition=true|false:存儲 term vector 的地址信息,會消耗存儲開銷

10、termOffsets=true|false:存儲 term vector 的偏移量,會消耗內存開銷

11、required=true|false:true,必須

12、default:默認值

二、<copyField>:將多個域值拷貝到一個域中,以便進行統一檢索。注意:由於 des 域是由多個 source 域構成,因此 des 域要設置爲 multiValued。

1、dest:目標域,數據將存儲到該域中

2、source:來源域,數據來源於該域

三、<dynamicField>:

動態字段(Dynamic fields)允許 solr 索引沒有在 schema 中明確定義的字段。這個在忘記定義一些字段時很有用。動態字段可以讓系統更靈活,通用性更強。 動態字段和常規字段類似,除了它名字中包含一個通配符外,在索引文檔時,一個字段如果在常規字段中沒有匹配時,將到動態字段中匹配。 假設schema中定義了一個叫*_i的動態動態字段,如果要索引一個叫 cost_i 的字段,但是 schema 中不存在 cost_i 的字段,這樣 cost_i  將被索引到 *_i 字段中。 動態字段也是定義在 schema.xml 文件中,和其他字段一樣,它也有個名詞,字段類型,和屬性。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章