solr部署+IK+索引mysql数据库

部署到tomcat

1

创建一个Solr home目录,存储运行Solr实例所有的配置文件和数据(Lucene索引文件)。
将F:\develop\solr作为Solr Home。

1. 将example\solr下的内容 拷贝至 F:\develop\solr目录下

2. 修改F:\develop\solr\collection1\conf目录下solrconfig.xml文件,将dataDir节点的值指向F:\develop\solr。如下图所示:


2

1. 将dist\solr-4.10.3.war解压,将下边的内容拷贝到Tomcat目录下的webapp/solr目录中

2. 将dist\solrj-lib 目录下所有jar包到Tomcat主目录 的lib目录下

3. 拷贝example\lib\ext 目录下所有jar包到Tomcat的webapp\solr\WEB-INF\lib目录下
4. 拷贝log4j.properties文件
在 Tomcat下webapps\solr\WEB-INF目录中创建文件 classes文件夹,
复制Solr目录下example\resources\log4j.properties至Tomcat下webapps\solr\WEB-INF\classes目录


5. 修改Tomcat的url字符集,修改conf/server.xml文件
6. 修改Tomcat目录 下webapp\solr\WEB-INF\web.xml文件,如下所示:
设置Solr home

安装中文分词器


1. 拷贝IKAnalyzer的文件到Tomcat下Solr目录 中

将IKAnalyzer2012FF_u1.jar拷贝到 Tomcat的webapps/solr/WEB-INF/lib 下。
在Tomcat的webapps/solr/WEB-INF/下创建classes目录
将IKAnalyzer.cfg.xml、ext_stopword.dic mydict.dic copy到 Tomcat的
webapps/solr/WEB-INF/classes

注意:ext_stopword.dic 和mydict.dic必须保存成无BOM的utf-8类型。


2. 修改Solr的schema.xml文件

添加FieldType:

<!-- IKAnalyzer-->
<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>

添加Field:

<!--IKAnalyzer Field-->
<field name="title_ik" type="text_ik" indexed="true" stored="true" />
<field name="content_ik" type="text_ik" indexed="true" stored="false" multiValued="true"/>

导入mysql数据库

该步奏参考http://iamyida.iteye.com/blog/2210621

1:把 E:\solr-5.1.0\dist 目录下的 solr-dataimporthandler-5.1.0.jar 复制到 E:\apache-tomcat-7.0.55\webapps\solr\WEB-INF\lib 目录下
2: 复制一个 MySQL 数据库驱动 jar 包到 E:\apache-tomcat-7.0.55\webapps\solr\WEB-INF\lib 目录下,如果没有用maven的朋友,可以直接在项目里的lib包下找到这个包,我的项目里就是mysql-connector-java-5.1.7-bin.jar
3: 在solrconfig.xml中添加如下配置开启数据导入功能:
<requestHandler name="/dataimport" class="solr.DataImportHandler">  
      <lst name="defaults">  
            <str name="config">data-config.xml</str>  
      </lst>  
</requestHandler>  
将以上代码放在<requestHandler name="/select" class="solr.SearchHandler">的上面,其实放哪里都可以,只要是在config标签里就行了
4:在当前目录下创建data-config.xml文件
<?xml version="1.0" encoding="UTF-8" ?>



<dataConfig>  
  <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"   
   url="jdbc:mysql://192.168.2.201:3306/book_publishing" user="root" password="root"/>  
   <document name="book_publishing"> 


	<entity name="book" transformer="HTMLStripTransformer" 
		query="select id,name,author,keyword,intro,editor,edition,cover,publishDate,resourceType,classifyCode,price from book">  
				<field column="id" name="id" /> 
				<field column="name" name="title" /> 
				<field column="resourceType" name="resourcetype" />
				<field column="author" name="author" /> 
				<field column="keyword" name="keyword" />
				<field column="intro" name="content" stripHTML="true"/> 
				
				<field column="cover" name="url" />	
				<field column="publishDate" name="publishdate" />
				
				<field column="classifyCode" name="classifycode" />
				<field column="price" name="price" />
	</entity>  


	<entity name="content" transformer="HTMLStripTransformer" 
		query="select contentid,markid,title,author,keyword,intro,bookName,resourceType,classifyCode,price from content">  
				<field column="contentid" name="id" /> 
				<field column="title" name="title" /> 
				<field column="resourceType" name="resourcetype" />
				<field column="author" name="author" /> 
				<field column="keyword" name="keyword" />
				<field column="intro" name="content" stripHTML="true"/> 
				<field column="bookName" name="bookname" />
							
				
				<field column="classifyCode" name="classifycode" />
				<field column="price" name="price" />
	 </entity>
	 

	  <entity name="resource" transformer="HTMLStripTransformer" 
		query="select resourceid,resourceName,author,keyword,intro,bookid,bookName,path,resourceType,classifyCode,price from resource">  
				<field column="resourceid" name="id" /> 
				<field column="resourceName" name="title" /> 
				<field column="resourceType" name="resourcetype" />
				<field column="author" name="author" /> 
				<field column="keyword" name="keyword" />
				<field column="intro" name="content" stripHTML="true"/> 
				<field column="bookid" name="bookid" />
				<field column="bookName" name="bookname" />
				<field column="path" name="url" />
							
				
				<field column="classifyCode" name="classifycode" />
				<field column="price" name="price" />
	  </entity>  

	  
   </document>  
</dataConfig> 

solr部署+IK+索引mysql数据库_第1张图片
这里载入的时候时间比较长,耐心等待,最后使用query直接查询就可以了,

 








 

 


你可能感兴趣的:(solr部署+IK+索引mysql数据库)