首先,講解一下/usr/local/solr/collection1/conf/schema.xml的配置,此文檔功能相似於配置索引數據庫。數據庫
Field:相似於數據庫字段的屬性(此文統一使用用「字段」描述它),請看一條fieldapache
<field name="user" type="string" indexed="true" stored="true" multiValued="true" />
name:當前字段名 type:當前字段使用的分詞類型(在schemal.xml文件的fieldType中進行配置) indexed:當前字段進行索引(當用戶查詢時能夠使用到該字段) stored:當前字段進行存儲(當用戶查詢到該字段時,能返回字段的原文) multiValued:當前字段可存在多個值(如:user字段可存儲多個用戶)svn
fieldType:字段處理,此類節點能夠配置各類數據類型的處理方式,如:分詞,過濾測試
<fieldType name="textComplex" class="solr.TextField"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="/usr/local/solr/dic"/> </analyzer> </fieldType>
copyField:當添加一條索引時,可將source字段的值複製到dest字段上去,可設置多個source字段指向同一個dest字段,這樣對dest進行索引的話,能夠查詢到全部source字段的索引。this
如:在一個新聞系統中,將標題,內容複製到一個統一的字段,這樣搜索all字段時,只要title,content中任意存在就能被搜索到。spa
<copyField source="title" dest="all"/> <copyField source="content" dest="all"/>
OK,此文檔配置成功後,接下來能夠添加一條索引試試效果,在solr的後臺管理界面能夠直接添加索引,並作查詢,分析測試。code
solr爲咱們準備了一些文檔添加實例,能夠參考一下:http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/example/exampledocs/xml
<add> <doc> <field name="employeeId">05991</field> <field name="office">Bridgewater</field> <field name="skills">Perl</field> <field name="skills">Java</field> </doc> [<doc> ... </doc>[<doc> ... </doc>]] </add>
此配置文檔還有兩個重要的配置節點blog
<uniqueKey>節點用於配置主鍵,跟數據庫主鍵功能相似,主要用於標示一條數據,當要刪除一條數據時能夠用該值精肯定位,當添加數據主鍵重複時可設置是覆蓋,仍是更新。索引
<uniqueKey>clipId</uniqueKey>
<defaultSearchField>節點用於配置查詢默認字段,當查詢數據時,未指定具體查詢字段,將使用該默認字段。
<defaultSearchField>_all</defaultSearchField>