solr部署+IK+索引mysql数据库
2015-10-13 17:14
531 查看
部署到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/22106211:把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>
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/e7ca7031e3363400813d14268cd53fc2.png)
这里载入的时候时间比较长,耐心等待,最后使用query直接查询就可以了,
相关文章推荐
- mysql常用语句
- mysql数据库存储过程游标循环,提前退出
- 【干货】不同场景下 如何进行MySQL迁移
- Mysql 之 视图
- windows 8.1 安装 mysql 5.6 教程
- Percona MySQL5.6 半同步复制
- mysql中TimeStamp和Date的转换
- MySQL数据导出与导入
- mysql数据库重启失败,报错Binlog has bad magic number
- mysql的1067错误之一
- MySQL自学笔记——数据库的建立
- 完整删除MySQL
- mysql性能优化-慢查询分析、优化索引和配置
- MySQL group_concat_max_len
- Mysql 配置文件my.cnf详解
- MySQL Server 5.0–安装及配置/MySQLInstanceConfig.exe用法详解
- 【未完】Gearman分布式处理,mysql队列详解
- MySql:操作表的语句以及常用的字段类型
- mysql优化之参数优化
- mysql 方法或者存储过程执行慢的调试方法