1. 程式人生 > >solr的索引庫配置

solr的索引庫配置

  本次主要討論的是schema.xml的索引庫的搜尋域的配置。

其中field的基本屬性配置。

fieldType:可以自己定義type的型別,比如中文的分詞器IKAnalyzer

field域:主要是用於資料存取的域,裡面使用key,value儲存資料

name:類似於key,儲存的文字名稱

type:儲存的資料型別

indexed:是否建立索引,也就是說能不能使用該域進行搜尋查詢。

stored:是否儲存資料,一般物件的基本屬性是儲存的

multiValued:可以是多個值,和陣列基本類似,格式[]

copyField:複製域,主要是將指定的資料複製到某一個域物件中,以至於一個域可以儲存多個域的資訊,這樣就方便構建預設搜尋域就行搜尋,非常的方便。

dynamicField:動態域,可以使用萬用字元*,進行儲存資料和索取資料。

其中每一個向solr新增的物件都需要一個唯一的id,這樣可以保證每一份資料的唯一性

 <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 

<fieldType name="text_ik" class="solr.TextField">
        <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    </fieldType>
    <field name="user_username" type="text_ik" indexed="true" stored="true"/>
    <field name="user_age" type="text_ik" indexed="true" stored="true"/>
    <field name="user_address"  type="text_ik" indexed="true" stored="true"/>

    <field name="user_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
    <copyField source="user_age" dest="user_keywords"/>
    <copyField source="user_username" dest="user_keywords"/>
    <copyField source="user_address" dest="user_keywords"/>

 <dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/>