Schema.xml:正則表達式
配置域名及域的類型等信息,Solr域先定義後使用數組
solr core的conf目錄:配置域名及域的類型等信息,Solr中的域要先建立後使用ui
{"id":"change.me","title":"change.me"}
title表示域名,必須在schema.xml中的filed屬性指定配置,不然不能使用this
配置域Field:code
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
name:域名xml
type:域名類型blog
indexed:是否索引索引
stored:域是否存儲可讀token
docValues:文檔值rem
multiValued:是否能夠多值,存儲多個值,數組存儲:商品大圖、中圖、小圖
required:是否必須,通常只有id設置,做爲搜索的主鍵
dynamicField:動態域:經過表達式的形式構建file名稱,相似正則表達式的表示
<dynamicField name="*_i" type="int" indexed="true" stored="true"/> name:動態域的名稱 type:動態域的類型
uniqueKey:主鍵域:必須在schema.xml中配置,每一個文檔中都應該有惟一主鍵
<uniqueKey>id</uniqueKey>
copyField:複製域:將原域的內容複製到目標域中,通常做爲默認域使用
<copyField source="cat" dest="text"/>
目標域:必須是multiValued類型
<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>
FieldType: 域類型
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <!-- in this example, we will only use synonyms at query time <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/> --> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>
查詢分詞