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:

	java.lang.RuntimeException: java.lang.NoSuchMethodError: org.apache.l
	ucene.analysis.Tokenizer.reset(Ljava/io/Reader;)V
	由于solr4.0对其中的有些类与方法做了调整,所以还是等待mmseg4j新版本修复吧。果断使用了ik-analyzer。
    一、将apache-solr-4.0.0\example\webapps\solr.war放在tomcat的webapps下启动服务器解压该war包,另外还需要增加几个jar包:
	apache-solr-dataimporthandler-4.0.0.jar
	apache-solr-dataimporthandler-extras-4.0.0.jar
	这两个jar包可以在solr的dist中可以找到
	另外还需要相应数据库的驱动包,比如
	mysql-connector-java-5.1.13-bin.jar
    二、将apache-solr-4.0.0\example下的solr拷贝至apache-tomcat-6.0.29-solr\bin下
    三、在apache-tomcat-6.0.29-solr\bin\solr\collection1\conf下的solrconfig.xml增加以下数据库配置
	  
  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">     
          <lst name="defaults">     
               <str name="config">data-config.xml</str>     
          </lst>     
  </requestHandler> 

    四、将apache-tomcat-6.0.29-solr\bin\solr\collection1\conf下增加data-config.xml文件,内容如下:
	  
<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>
 
    五、增加中文分词器,ik-analyzer的配置如下:
	它的安装部署十分简单,将IKAnalyzer2012.jar部署亍项目的lib目录中;IKAnalyzer.cfg.xml不stopword.dic文件放置在class根目录(对于web项目,通常是WEB-I	NF/classes目彔,同hibernate、log4j等配置文件相同)下即可
	solr4.0中schema.xml配置解析器:
	  
<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"> 
     	<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> 
     </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默认搜索中
	七、登录管理页面:
	中文分词器分词的示例:
	  solr4.0环境搭建_第1张图片
	query示例:
	  solr4.0环境搭建_第2张图片
 
 


作者:yangaming 发表于2012-11-18 22:00:52 原文链接
阅读:0 评论:0 查看评论

你可能感兴趣的:(环境,solr4.0)