solr(二) solr5.5导入Ik分词,导入数据库数据
2017-09-28 16:30
615 查看
请结合上一篇看,tomcat目录以及solr home
1、下载Ik分词jar包以及所需的扩展词典
我的百度云下载:https://pan.baidu.com/s/1qYv6WaS
或者csdn资源下载:http://download.csdn.net/download/lztizfl/9999936
2、下载解压缩:
3、把IKAnalyzer2012FF_u2.jar复制到F:\Mysolr\tomcat8\webapps\solr\WEB-INF\lib下,其他三个文件(ext.dic、IKAnalyzer.cfg.xml、stopword.dic)复制到F:\Mysolr\tomcat8\webapps\solr\WEB-INF\classes下。
4、在F:\Mysolr\solr home\lztweb\conf中找到managed-schema文件,不要删除,直接复制并重命名schema.xml。打开,加入:
5、重启tomcat。浏览器打开http://localhost:8080/solr/admin.html。选择一个core,点击Analysis,在右边框中输入一段话,下面Analyse Fieldname / FieldType选择 text_ik,没有话好好的去检查之前的配置。成功如下图:
1、mysql新建测试表并导入数据:admin
2、找到F:\Mysolr\solr home\lztweb\conf目录下solrconfig.xml
打开,添加
3、找到F:\Mysolr\solr-5.5.0\example\example-DIH\solr\solr\conf中的文件solr-data-config.xml,重命名为data-config.xml,并复制到F:\Mysolr\solr home\lztweb\conf目录下。打开,添加如下:
注意:不能直接写&符号连接进行数据库的的连接,要用&不然会报错,坑!
4、在managed-schema文件中配置域。
注意:千万别手贱添加id,eg:
然后在data-config.xml中定义:
这样做数据导入不进去,会产生一个错误。Solr Document [null] missing required field: my_id 原因看:http://llwbrothers.blog.51cto.com/2360705/867477。
5、数据导入,重启tomcat,打开浏览器链接,如下图操作:
6、查看数据
一、导入IK分词
solr导入IK分词,为了支持中文分词。导入很简单:1、下载Ik分词jar包以及所需的扩展词典
我的百度云下载:https://pan.baidu.com/s/1qYv6WaS
或者csdn资源下载:http://download.csdn.net/download/lztizfl/9999936
2、下载解压缩:
3、把IKAnalyzer2012FF_u2.jar复制到F:\Mysolr\tomcat8\webapps\solr\WEB-INF\lib下,其他三个文件(ext.dic、IKAnalyzer.cfg.xml、stopword.dic)复制到F:\Mysolr\tomcat8\webapps\solr\WEB-INF\classes下。
4、在F:\Mysolr\solr home\lztweb\conf中找到managed-schema文件,不要删除,直接复制并重命名schema.xml。打开,加入:
<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>
5、重启tomcat。浏览器打开http://localhost:8080/solr/admin.html。选择一个core,点击Analysis,在右边框中输入一段话,下面Analyse Fieldname / FieldType选择 text_ik,没有话好好的去检查之前的配置。成功如下图:
二、导入数据库数据
一般solr导入数据库不常用,在实际开发中都是操作代码进行增删查改,不过还是要了解一下。1、mysql新建测试表并导入数据:admin
/* Navicat MySQL Data Transfer Source Server : lzt Source Server Version : 50716 Source Host : localhost:3306 Source Database : solr Target Server Type : MYSQL Target Server Version : 50716 File Encoding : 65001 Date 4000 : 2017-09-28 16:13:05 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `admin` -- ---------------------------- DROP TABLE IF EXISTS `admin`; CREATE TABLE `admin` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, `message` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of admin -- ---------------------------- INSERT INTO `admin` VALUES ('1', '小明', '19', '123123'); INSERT INTO `admin` VALUES ('2', '小红', '20', '啦啦啦啦'); INSERT INTO `admin` VALUES ('3', '小军', '21', '你好'); INSERT INTO `admin` VALUES ('4', '小林', '24', '分词不错'); INSERT INTO `admin` VALUES ('5', '小刚', '20', '你好啊'); INSERT INTO `admin` VALUES ('6', '小小', '25', '哈哈'); INSERT INTO `admin` VALUES ('7', '小敏1', '21', '啦啦啦'); INSERT INTO `admin` VALUES ('8', '小勇', '23', '你好');
2、找到F:\Mysolr\solr home\lztweb\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>
3、找到F:\Mysolr\solr-5.5.0\example\example-DIH\solr\solr\conf中的文件solr-data-config.xml,重命名为data-config.xml,并复制到F:\Mysolr\solr home\lztweb\conf目录下。打开,添加如下:
dataConfig> <!-- 这是mysql的配置 --> <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/solr?useUnicode=true&characterEncoding=utf-8" user="root" password="123456"/> <document> <!-- name属性,就代表着一个文档,可以随便命名 --> <!-- query是一条sql,代表在数据库查找出来的数据 --> <entity name="admin" pk="id" query="select id,name,age,message from admin"> <!-- 每一个field映射着数据库中列与文档中的域,column是数据库列,name是solr的域(必须是在managed-schema文件中配置过的域才行) --> <field column="id" name="id"/> <field column="name" name="my_name"/> <field column="age" name="my_age"/> <field column="message" name="my_message"/> </entity> </document> </dataConfig>
注意:不能直接写&符号连接进行数据库的的连接,要用&不然会报错,坑!
4、在managed-schema文件中配置域。
<field name="my_name" type="text_ik" indexed="true" stored="true"/> <field name="my_age" type="int" indexed="true" stored="true"/> <field name="my_message" type="text_ik" indexed="true" stored="true"/>
注意:千万别手贱添加id,eg:
<field name="my_id" type="int" indexed="true" stored="true"/>
然后在data-config.xml中定义:
<field column="id" name="my_id"/>
这样做数据导入不进去,会产生一个错误。Solr Document [null] missing required field: my_id 原因看:http://llwbrothers.blog.51cto.com/2360705/867477。
5、数据导入,重启tomcat,打开浏览器链接,如下图操作:
6、查看数据
相关文章推荐
- solr5.5之从数据库中导入数据并建立索引
- Solr从数据库导入数据
- solr运行配置与数据库数据导入到solr
- solr导入数据库数据
- 从数据库中导入数据到solr中
- solr连接数据库导入数据
- solr运行配置与数据库数据导入到solr
- 利用SOLR搭建企业搜索平台 之十(数据库数据导入到solr)
- 【转】Solr从数据库导入数据(DIH)
- 将数据库的数据导入solr索引库中
- solr进阶三:从数据库中导入数据到solr
- Solr 7.2 使用DataImportHandler导入数据库数据
- 使用 Solr 创建 Core 并导入数据库数据
- solr5.5.5安装配置,数据库数据导入实现检索
- solr学习第七课----solr之数据库数据导入生成索引(DataImportHandler)-基于solr搜索引擎
- 转:solr 从数据库导入数据,全量索引和增量索引(实例&配置&原理)
- solr 从数据库导入数据,全量索引和增量索引
- Lucene之Solr导入数据库中的数据(九)
- 【Solr】数据库数据导入索引库
- ElasticSearch速学 - IK中文分词器 、elasticdump数据导出导入、字段分词