Solr数据库导入
Solr数据库导入
1、在MySQL中创建一张表t_solr,并插入测试数据。
2、把E:\Solr\solr-4.10.4\example\example-DIH\solr\db\conf下的admin-extra.html, admin-extra.menu-bottom.html,admin-extra.menu-top.html三个文件也复制到conf中去。
打开E:\Solr\solrHome\mycore\conf路径下的
solrconfig.xml文件,添加如下节点:
|
<requestHandlername="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lstname="defaults"> <strname="config">data-config.xml</str> </lst> </requestHandler> |
3、新建一个data-config.xml文件,与solrconfig.xml同一个目录下。内容为:
|
<dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test" user="root" password="giser" /> <document> <entity name="t_solr" transformer="DateFormatTransformer" query="SELECT id, subject, content, last_update_time FROM t_solr WHERE id >= ${dataimporter.request.id}"> <field column='last_update_time' dateTimeFormat='yyyy-MM-dd HH:mm:ss' /> </entity> </document> </dataConfig> |
说明:这里使用了一个${dataimporter.request.id},这个是参数,后面在做数据导入时,会使用到,以此条件为基准读数据。
4、复制解压出的solr jar包(E:\Solr\solr-4.10.4\dist)solr-dataimporthandler-4.10.0.jar和solr-dataimporthandler-extras-4.10.0.jar到tomcat solr webapp的WEB-INF\lib目录下(E:\Solr\apache-tomcat-7.0.65\webapps\solr\WEB-INF\lib)。
当然,也包括mysql的jdbc jar包:mysql-connector-java-5.1.7-bin.jar
(还有一种方法是在solrconfig.xml中加入lib节点,然后把jar包放到solrhome下,这样可以不在WEB-INF\lib中加入jar包)
5、用记事本打开E:\Solr\solrHome\mycore\conf路径下的schema.xml,在solrhome文件夹中添加内容如下:
|
<!—type对应 --> <fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/> <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/> <field name="subject" type="string" indexed="true" stored="true" /> <field name="content" type="string" indexed="true" stored="true" /> <defaultSearchField>subject</defaultSearchField> |
6、打开Solr,查询数据
通过地址直接访问:http://localhost:8080/solr/mycore/dataimport?command=full-import&clean=true&commit=true&wt=json&indent=true&entity=t_solr&verbose=false&optimize=false&debug=false&id=1
配置好后,之后我们只需要使用这个url地址,就可以不断的去导入数据做索引了。
通过DataImport生成索引:
查询结果:

总结:
遇到的问题1:
|
mysql java.sql.SQLException: Unknown system variable 'language 一:问题描述:mysql测试连接一致报错:Unknown system variable 'language' 未知名的系统变量语言 二:用的Mysql的版本 5.6 用的连接 jar mysql-connector-java-5.1.36.jar 三:找到问题,mysql-connector-java-5.1.36.jar版本太高了,换成 mysql-connector-java-5.1.24.jar 问题解决! |
遇到的问题2:
把solr-6.0\solr-6.0.0\example\example-DIH\solr\db\conf下的admin-extra.html, admin-extra.menu-bottom.html,admin-extra.menu-top.html三个文件也复制到conf中去。
Solr数据库导入的更多相关文章
- [solr] - 数据库导入
这里使用的是mysql测试. 1.先在mysql中建一个表:solr_test 2.插入几条测试数据: 3.用记事本打solrconfig.xml文件,在solrhome文件夹中.E:\solrhom ...
- solr插件导入数据库中的数据
solr插件导入数据库中的数据 1:自定义与数据库对应的域: 1.1. 设置业务系统Field 如果不使用Solr提供的Field可以针对具体的业务需要自定义一套Field. 例如:如下是商品信息Fi ...
- Solr定时导入功能实现
需要实现Solr定时导入功能的话,我们可以通过使用Solr自身所集成的dataimportscheduler调度器实现 下载对应的jar包,下载地址https://code.google.com/ar ...
- Java实现MySQL数据库导入
距离上班还有一段时间.现在总结一下如何使用Java语言实现MySQL数据库导入: 首先新建名为test的数据库: 其次执行下面Java代码: import java.io.File; import j ...
- Access数据库导入到SQL Server 2005 Express中
安装好SQL Server 2005 Express后,再安装SQL Server Management Studio Express CTP就可以很方便的使用控制台进行数据库的管理.但SQL Ser ...
- MYSQL数据库导入导出(可以跨平台)
MYSQL数据库导入导出.sql文件 转载地址:http://www.cnblogs.com/cnkenny/archive/2009/04/22/1441297.html 本人总结:直接复制数据库, ...
- (ORA-12899) 10g数据库导入到11g数据库时报错
问题: 10g数据库导入到11g数据库时,部分表的字段会出现ORA-12899的报错,如下: IMP-00019: 由于 ORACLE 错误 12899 而拒绝行 IMP-00003: 遇 ...
- Oracle数据库——常用命令(用户管理、数据库导入导出)
--==cmd控制台==-- --==日常用户管理SQL==-- --连接到SQLPLUS >sqlplus /nolog --以dba身份连接 sql>conn / as sysdba ...
- (转)Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出
Linux系列 启动1.启动数据库实例,分为两步:第一步,启动监听:第二步,启动数据库实例. 1.1进入到sqlplus启动实例 [oracle@redhat ~]$ su - oracle ...
随机推荐
- 泛化之美--C++11可变模版参数的妙用
1概述 C++11的新特性--可变模版参数(variadic templates)是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个数.任意类型的参数.相比C++98/03 ...
- [软件逆向]实战Mac系统下的软件分析+Mac QQ和微信的防撤回
0x00 一点废话 最近因为Mac软件收费的比较多,所以买了几款正版软件,但是有的软件卖的有点贵,买了感觉不值,不买吧,又觉得不方便,用别人的吧,又怕不安全.于是我就买了正版的Hopper Di ...
- JMeter 脚本开发(五)
一.JMeter 元件运行顺序 执行顺序逻辑如下: 1.配置元件(如果存在) 2.前置处理器(如果存在) 3.定时器(如果存在) 4.取样器(如果存在) 5.后置处理器(如果存在且取样器的结果不为空) ...
- [HDFS_2] HDFS 的 Shell 操作
0. 说明 在 Shell 下完成对 HDFS 的增删改查操作 1. 在 Shell 下完成对 HDFS 的增删改查操作 [1.0 查看帮助] [centos@s101 ~]$ hdfs dfs -h ...
- elasticsearch版本控制及mapping映射属性介绍
学习elasticsearch不仅只会操作,基本的运行原理我们还是需要进行了解,以下内容我讲对elasticsearch中的基本知识原理进行梳理,希望对大家有所帮助! 一.ES版本控制 1.Elast ...
- Python3编写网络爬虫12-数据存储方式五-非关系型数据库存储
非关系型数据库存储 NoSQL 全称 Not Only SQL 意为非SQL 泛指非关系型数据库.基于键值对 不需要经过SQL层解析 数据之间没有耦合性 性能非常高. 非关系型数据库可细分如下: 键值 ...
- 如何取得select结果数据集的前10条记录。postgresql
我用的是POSTGRESQL.select name from t_personal order by personal_id desc 我想取得上面结果数据的,前10条记录.SQL语句怎么改. 我记 ...
- Linux驱动的两种载入方式过程分析
一.概念简述 在Linux下能够通过两种方式载入驱动程序:静态载入和动态载入. 静态载入就是把驱动程序直接编译进内核.系统启动后能够直接调用.静态载入的缺点是调试起来比較麻烦,每次改动一个地方都要又一 ...
- (四) 天猫精灵接入Home Assistant-ESP-WIFI模块通过mqtt协议接入HASS
总过程 1 ESP8266上电后,初始化 连接MQTT服务器 发布自身配置信息----hass自动发现该设备 订阅hass的命令话题---接收命令 发布hass的状态话题---返回自身状态 2 ESP ...
- Qt 编程指南 3 信号和槽沟通
https://qtguide.ustclug.org/ 1 信号和槽 所谓信号槽,简单来说,就像是插销一样:一个插头和一个插座.怎么说呢?当某种事件发生之后,比如,点击了一下鼠标,或者按了某个按键, ...