天天看點

solr4.0環境搭建

因近期想搞個知識庫,是以選擇solr,現在最新的solr是4.0,是以用solr4.0。

伺服器:tomcat6

  jdk   :1.6

 solr :4.0

中文分詞器 :ik-analyzer,mmseg4j

安裝:目前mmseg4j的版本是mmseg4j-1.9.0.v20120712-snapshot,經過測試,發現這個版本有bug:

<requesthandler name="/dataimport" class="org.apache.solr.handler.dataimport.dataimporthandler">       

        <lst name="defaults">       

             <str name="config">data-config.xml</str>       

        </lst>       

</requesthandler>   

<dataconfig>    

    <datasource type="jdbcdatasource"    

   driver="com.mysql.jdbc.driver"    

   url="jdbc:mysql://localhost:3306/solrdb"    

   user="root"    

   password="888888"/>    

    <document name="content">    

        <entity name="node" query="select id,author,title,content from solrdb">    

            <field column="id" name="id" />    

            <field column="author" name="author" />    

            <field column="title" name="title" />    

            <field column="content" name="content" />  

        </entity>    

    </document>    

</dataconfig>  

<schema name="example" version="1.1">   

    ……   

    <fieldtype name="text" class="solr.textfield">   

        <analyzer class="org.wltea.analyzer.lucene.ikanalyzer"/>   

    </fieldtype>  

</schema>  

六、schema.xml完整配置:

<?xml version="1.0" encoding="utf-8" ?>    

<schema name="example" version="1.5">    

  <types>        

    <fieldtype name="long" class="solr.trielongfield" precisionstep="0" positionincrementgap="0"/>  

      <fieldtype name="string" class="solr.strfield" sortmissinglast="true" />   

  <!-- ikanalyzer 配置 -->  

     <fieldtype name="text" class="solr.textfield">   

     </fieldtype>  

</types>    

 <fields>    

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

   <field name="author" type="text" indexed="true" stored="true" multivalued="false"/>    

   <field name="title" type="text" indexed="true" stored="true" multivalued="false"/>    

   <field name="content" type="text" indexed="true" stored="true" multivalued="false" />    

   <field name="_version_" type="long" indexed="true" stored="true"/>  

 </fields>    

 <uniquekey>id</uniquekey>    

 <defaultsearchfield>content</defaultsearchfield>    

 <solrqueryparser defaultoperator="or"/>    

<copyfield source="title" dest="content"/>    

<copyfield source="author" dest="content"/>  

</schema>    

解析:multivalued的個人了解是配置true則傳回單條資料,false則可以傳回多條,以後深入了解了再詳解。defaultsearchfield配置預設搜尋索引,copyfield可以講 title、author字段添加至content預設搜尋中

====================================分割線================================

最新内容請見作者的github頁:http://qaseven.github.io/