首页 > 代码库 > solr4.5.1与IKAnalyzer2012FF_u1整合

solr4.5.1与IKAnalyzer2012FF_u1整合

1.将 E:\jar\solr-4.1.0\solr-4.1.0\example\webapps 下的 solr.war 拷贝到 tomcat下 
运行  tomcat ,此时控制台里面会有报错提示,是找不到solr的实例运行环境。这时关闭tomcat。 

2.删除webapps目录下面的solr.war包。将下载的solr目录下面的example下面的solr目录复制到tomcat的webapps/solr下面。下面的目录结构大概是这样的webapps/solr/solr/collection1类似这样的。(当然这里也可以在稍后的配置文件只去指定固定的位置,配置所以位置) 

3.打开webapps/solr/WEB-INF/web.xml文件,在里面添加如下内容。env-entry-value这个目录是指向上一个步骤中的目录。这里使用的是相对目录(相对于tomcat的bin目录),也可以使用绝对路径,如d:/solr等。步骤2中的目录不一定要位于tomcat中,只要此步骤中将路径配置正确即可。 
Java代码  收藏代码
  1. <env-entry>  
  2.    <env-entry-name>solr/home</env-entry-name>  
  3.    <env-entry-value>../webapps/solr/solr</env-entry-value>  
  4.    <env-entry-type>java.lang.String</env-entry-type>  
  5.  </env-entry>  

再次运行tomcat,输入http://localhost:8080/solr即可访问在tomcat中运行的solr环境 
整体配置完成,这次solr 的UI 还是很不错,还有相关监控服务器状态 

接下来导入数据索引 
在链接数据库之前 需要配置数据库 
创建一个 数据源 配置文件 data-config.xml 
创建的位置在 
d:\tomcat\webapps\solr\solr\collection1


当然 如果你的指向 不是放在tomcat下 就在相应的solr下的conf下创建 (注意在lib目录下添加mysql驱动mysql-connector-java-5.1.21.jar)

Xml代码  收藏代码
  1. <dataConfig>  
  2. <dataSource type="JdbcDataSource" driver="oracle.jdbc.driver.OracleDriver"   
  3. url="jdbc:oracle:thin:@ip:1521:db01" user="root" password="root" />  
  4. <document>  
  5. <entity name="id" query="select ID,USER_NAME,USER_PASS,USER_TYPE,USER_ROLE from T_USER">  
  6. <field column="ID" name="id"/>  
  7. <field column="USER_NAME" name="username"/>  
  8. <field column="USER_PASS" name="userpass"/>  
  9. <field column="USER_TYPE" name="usertype"/>  
  10. <field column="USER_ROLE" name="userrole"/>  
  11. </entity>  
  12.   </document>  
  13. </dataConfig>  


在 solrconfig.xml 添加 数据源配置 
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">  
<span style="white-space:pre">	</span><lst name="defaults">  
<span style="white-space:pre">		</span><str name="config">data-config.xml</str>   
<span style="white-space:pre">	</span></lst>  
</requestHandle>



打开 schema.xml 

添加索引对应  这里的type=‘my_text‘ 是我自定义的IK分词库 


<field name="username" type="my_text" indexed="true" stored="true" />  
   <field name="userpass" type="my_text" indexed="true" stored="true" />      
   <field name="usertype" type="my_text" indexed="true" stored="true" />  
   <field name="userrole" type="my_text" indexed="true" stored="true"/>   
</field>


打开浏览器就可以看到下面界面:
 
执行导入。 
如果数据量不大 刷新下状态会显示是否成功。 
成功是绿色信息,失败嘛 当然 红色。 

下面是关于添加IK分词库的配置 
下载最新的IK分词,因为solr4以后 之前的IK无法支持,所以需要下载新的 名为 
IK Analyzer 2012FF_hf1 以后可能会更新 大家去官网查看下就好了 
记得看好相应的版本号。 
将 IKAnalyzer2012FF_u1.jar  拷贝到lib 下,将IKAnalyzer.cfg.xml stopword.dic拷贝到classes下。 
在 之前的 schema.xml中 找到 <types></types> 

加入 IK 分词库的配置 

                 <fieldType name="text_ik" class="solr.TextField">
                      <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
                      <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
                  </fieldType>
                  




solr4.5.1与IKAnalyzer2012FF_u1整合