solr域在家目錄下面\solr_home\collection1\conf中的schema.xml裏面定義。code
域必需要先在schema.xml下定義後才能使用。xml
solr在操做Field域時須要在schema.xml中定義(根據本身的業務需求自定義)。blog
一、惟一域索引
<!-- id 域 也叫惟一域 每個文檔必須有惟一域 --> <uniqueKey>id</uniqueKey>
二、動態域ip
<!-- 動態域 *_i:通配符 --> <dynamicField name="*_i" type="int" indexed="true" stored="true"/> <dynamicField name="*_is" type="int" indexed="true" stored="true" multiValued="true"/> <dynamicField name="*_s" type="string" indexed="true" stored="true" /> <dynamicField name="*_ss" type="string" indexed="true" stored="true" multiValued="true"/>
三、複製域 copyField 能夠將多個Field複製到一個Field中,一便進行統一檢索。例如:將商品名稱和商品描述組合在一塊兒,在索引的時候直接索引組合內容,防止兩次查詢。文檔
<copyField source="title" dest="text"/>
例如:搜索title標題、description內容 、author做者,咱們能夠定義title、description、author的複製域string
a、先建立域it
<field name="title" type="text_general" indexed="true" stored="true" multiValued="true"/> <field name="author" type="text_general" indexed="true" stored="true"/> <field name="description" type="text_general" indexed="true" stored="true"/> <field name="keywords" type="text_general" indexed="true" stored="false"/>
b、建立copyField 域io
<!--source:源域 dest:目標域 --> <copyField source="title" dest="keywords"/> <copyField source="author" dest="keywords"/> <copyField source="description" dest="keywords"/>