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&#03

一:问题描述: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数据库导入的更多相关文章

  1. [solr] - 数据库导入

    这里使用的是mysql测试. 1.先在mysql中建一个表:solr_test 2.插入几条测试数据: 3.用记事本打solrconfig.xml文件,在solrhome文件夹中.E:\solrhom ...

  2. solr插件导入数据库中的数据

    solr插件导入数据库中的数据 1:自定义与数据库对应的域: 1.1. 设置业务系统Field 如果不使用Solr提供的Field可以针对具体的业务需要自定义一套Field. 例如:如下是商品信息Fi ...

  3. Solr定时导入功能实现

    需要实现Solr定时导入功能的话,我们可以通过使用Solr自身所集成的dataimportscheduler调度器实现 下载对应的jar包,下载地址https://code.google.com/ar ...

  4. Java实现MySQL数据库导入

    距离上班还有一段时间.现在总结一下如何使用Java语言实现MySQL数据库导入: 首先新建名为test的数据库: 其次执行下面Java代码: import java.io.File; import j ...

  5. Access数据库导入到SQL Server 2005 Express中

    安装好SQL Server 2005 Express后,再安装SQL Server Management Studio Express CTP就可以很方便的使用控制台进行数据库的管理.但SQL Ser ...

  6. MYSQL数据库导入导出(可以跨平台)

    MYSQL数据库导入导出.sql文件 转载地址:http://www.cnblogs.com/cnkenny/archive/2009/04/22/1441297.html 本人总结:直接复制数据库, ...

  7. (ORA-12899) 10g数据库导入到11g数据库时报错

    问题: 10g数据库导入到11g数据库时,部分表的字段会出现ORA-12899的报错,如下: IMP-00019: 由于 ORACLE 错误 12899 而拒绝行       IMP-00003: 遇 ...

  8. Oracle数据库——常用命令(用户管理、数据库导入导出)

    --==cmd控制台==-- --==日常用户管理SQL==-- --连接到SQLPLUS >sqlplus /nolog --以dba身份连接 sql>conn / as sysdba ...

  9. (转)Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出

    Linux系列 启动1.启动数据库实例,分为两步:第一步,启动监听:第二步,启动数据库实例. 1.1进入到sqlplus启动实例 [oracle@redhat ~]$ su - oracle      ...

随机推荐

  1. 泛化之美--C++11可变模版参数的妙用

    1概述 C++11的新特性--可变模版参数(variadic templates)是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个数.任意类型的参数.相比C++98/03 ...

  2. [软件逆向]实战Mac系统下的软件分析+Mac QQ和微信的防撤回

      0x00  一点废话 最近因为Mac软件收费的比较多,所以买了几款正版软件,但是有的软件卖的有点贵,买了感觉不值,不买吧,又觉得不方便,用别人的吧,又怕不安全.于是我就买了正版的Hopper Di ...

  3. JMeter 脚本开发(五)

    一.JMeter 元件运行顺序 执行顺序逻辑如下: 1.配置元件(如果存在) 2.前置处理器(如果存在) 3.定时器(如果存在) 4.取样器(如果存在) 5.后置处理器(如果存在且取样器的结果不为空) ...

  4. [HDFS_2] HDFS 的 Shell 操作

    0. 说明 在 Shell 下完成对 HDFS 的增删改查操作 1. 在 Shell 下完成对 HDFS 的增删改查操作 [1.0 查看帮助] [centos@s101 ~]$ hdfs dfs -h ...

  5. elasticsearch版本控制及mapping映射属性介绍

    学习elasticsearch不仅只会操作,基本的运行原理我们还是需要进行了解,以下内容我讲对elasticsearch中的基本知识原理进行梳理,希望对大家有所帮助! 一.ES版本控制 1.Elast ...

  6. Python3编写网络爬虫12-数据存储方式五-非关系型数据库存储

    非关系型数据库存储 NoSQL 全称 Not Only SQL 意为非SQL 泛指非关系型数据库.基于键值对 不需要经过SQL层解析 数据之间没有耦合性 性能非常高. 非关系型数据库可细分如下: 键值 ...

  7. 如何取得select结果数据集的前10条记录。postgresql

    我用的是POSTGRESQL.select name from t_personal order by personal_id desc 我想取得上面结果数据的,前10条记录.SQL语句怎么改. 我记 ...

  8. Linux驱动的两种载入方式过程分析

    一.概念简述 在Linux下能够通过两种方式载入驱动程序:静态载入和动态载入. 静态载入就是把驱动程序直接编译进内核.系统启动后能够直接调用.静态载入的缺点是调试起来比較麻烦,每次改动一个地方都要又一 ...

  9. (四) 天猫精灵接入Home Assistant-ESP-WIFI模块通过mqtt协议接入HASS

    总过程 1 ESP8266上电后,初始化 连接MQTT服务器 发布自身配置信息----hass自动发现该设备 订阅hass的命令话题---接收命令 发布hass的状态话题---返回自身状态 2 ESP ...

  10. Qt 编程指南 3 信号和槽沟通

    https://qtguide.ustclug.org/ 1 信号和槽 所谓信号槽,简单来说,就像是插销一样:一个插头和一个插座.怎么说呢?当某种事件发生之后,比如,点击了一下鼠标,或者按了某个按键, ...