1、参照 http://www.cnblogs.com/luxh/p/5016894.html 部署好solr的环境

2、在solr_home下建立一个core_item目录

[root@iZ23exixsjaZ solr_home]# pwd
/luxh/solr/solr_home
[root@iZ23exixsjaZ solr_home]# mkdir core_item

  在core_item目录中建立data目录

[root@iZ23exixsjaZ core_item]# pwd
/luxh/solr/solr_home/core_item
[root@iZ23exixsjaZ core_item]# mkdir data

3、将/luxh/solr/solr-5.3.1/example/example-DIH/solr/db路径下的conf目录拷贝到刚才创建的core_item目录中

[root@iZ23exixsjaZ data_driven_schema_configs]# pwd
/luxh/solr/solr-5.3.1/example/example-DIH/solr/db
[root@iZ23exixsjaZ data_driven_schema_configs]# cp -r conf /luxh/solr/solr_home/core_item

4、在solr管理界面配置添加一个core

5、拷贝相应的jar包到solr项目中

  拷贝mysql-connector-java-5.1.37.jar和solr-dataimporthandler-5.3.1.jar到solr项目中

  拷贝路径:

/luxh/solr/apache-tomcat-8.0./webapps/solr/WEB-INF/lib

6、配置solrconfig.xml,加入solr数据导入处理器(其实从solr拷贝过来的文件已经配置好了)

  <requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>

7、配置db-data-config.xml,加入连接数据库的信息,按自己的实际字段配置

<dataConfig>
<dataSource name="testDB" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/fashion?rewriteBatchedStatements=true&amp;useUnicode=true&amp;characterEncoding=utf8&amp;autoReconnect=true" user="root" password="root" />
<document>
<entity name="item" query="select * from item">
<field column="Uuid" name="id"/>
<field column="ShopId" name="ShopId"/>
<field column="Cat" name="Cat"/>
<field column="Building" name="Building"/>
<field column="Floor" name="Floor"/>
<field column="Position" name="Position"/>
<field column="Title" name="Title"/>
<field column="Price" name="Price"/>
<field column="Color" name="Color"/>
<field column="Size" name="Size"/>
<field column="Input_str" name="Input_str"/>
</entity>
</document>
</dataConfig>

  column表示数据库中的列;name是solr的schema.xml配置的field的name

8、配置solr的schema.xml,加入一下内容:

   <field name="ShopId" type="int" indexed="false" stored="true"/>
<field name="Cat" type="text_ansj" indexed="true" stored="true"/>
<field name="Building" type="text_ansj" indexed="true" stored="true"/>
<field name="Floor" type="int" indexed="false" stored="true"/>
<field name="Position" type="text_ansj" indexed="true" stored="true"/>
<field name="Title" type="text_ansj" indexed="true" stored="true"/>
<field name="Price" type="float" indexed="true" stored="true"/>
<field name="Color" type="text_ansj" indexed="true" stored="true"/>
<field name="Input_str" type="text_ansj" indexed="true" stored="true"/>
<field name="Size" type="text_ansj" indexed="true" stored="true"/> <field name="allwords" type="text_ansj" indexed="true" stored="false" multiValued="true"/> <copyField source="Cat" dest="allwords"/>
<copyField source="Title" dest="allwords"/>
<copyField source="Color" dest="allwords"/>
<copyField source="Input_str" dest="allwords"/>
<copyField source="Size" dest="allwords"/>

9、配置好中文分词器

  参照 http://www.cnblogs.com/luxh/p/5017336.html

10、启动tomcat

11、导入数据

12、如果日志中有SolrResourceLoader Can't find (or read) directory to add to classloader: ../../../contrib/extraction/lib等找不到库的警告,

  主要是找不到solr安装目录中的solr-5.3.1/contrib和  solr-5.3.1/dist.   则在solrconfig.xml中指定这两个目录的路径即可

  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" /> 替换为:
<lib dir="/luxh/solr/solr_home/dist/" regex="solr-dataimporthandler-.*\.jar" /> <lib dir="/luxh/solr/solr_home/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="/luxh/solr/solr_home/dist/" regex="solr-cell-\d.*\.jar" /> <lib dir="/luxh/solr/solr_home/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="/luxh/solr/solr_home/dist/" regex="solr-clustering-\d.*\.jar" /> <lib dir="/luxh/solr/solr_home/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="/luxh/solr/solr_home/dist/" regex="solr-langid-\d.*\.jar" /> <lib dir="/luxh/solr/solr_home/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="/luxh/solr/solr_home/dist/" regex="solr-velocity-\d.*\.jar" />

Solr导入MySql中的数据的更多相关文章

  1. 【Redis 向Redis中批量导入mysql中的数据(亲自测试)】

    转自:https://blog.csdn.net/kenianni/article/details/84910638 有改动,仅供个人学习 问题提出:缓存的冷启动问题 应用系统新版本上线,这时候 re ...

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

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

  3. Solr导入MySQL数据之dataimport-handler

    Solr不借助手动JSolr编程情况下也可以将Mysql的数据导入到Solr中.实现方式是安装dataimport-Handler从关系数据库将数据导入到索引库. 1.向SolrCore中加入jar包 ...

  4. 利用Ajax实现数据的同步传输,从mysql中提取数据,通过echarts可视化

    如何将mysql数据库中的方式通过echarts可视化呢,以下面这个简单的例子向大家进行演示:   步骤一:mysql的创表和插入数据,当然这些数据也可以是你通过爬虫抓取的.     步骤二:   创 ...

  5. Vusual C++连接Mysql和从MySql中取出数据的API介绍

    .1 mysql_real_connect() 2.1.1 函数原型: MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const ...

  6. PHP如何批量更新MYSQL中的数据

    最近项目需要用到批量更新数据库里的数据,在网上找了一下这方面的例子,觉得这个还不错,分享给大家. 在这个业务里里面涉及到了更新两张数据表,那么大家是不是会想到非常简单,马上上代码 $sql ,type ...

  7. hadoop项目实战--ETL--(二)实现自动向mysql中添加数据

    四 项目开发 1 创建数据库db_etl,新建两张表user 和oder.表结构如第一部分图所示. 2 编写python脚本,实现自动向mysql中插入数据. 新建python 项目,目录结构如下图 ...

  8. PHP读取mysql中的数据

    <!DOCTYPE HTML> <html> <head> <title> PHP动态读取mysql中的数据 </title> <me ...

  9. 辛星浅谈mysql中的数据碎片以及引擎为MyISAM下的操作

    对于mysql中的数据碎片,事实上和我们删除数据是息息相关的,删除数据的时候必定会在数据文件里造成不连续的空白空间,对于少量的数据的删除,并不会产生多少的空白空间.假设在一段时间内的大量的删除操作,会 ...

随机推荐

  1. Android之ListView&ViewPager模拟新闻界面

    模拟新闻 APP 的界面 1)写 ListView 之前先写布局: 这里有两种 Item 的布局: <?xml version="1.0" encoding="ut ...

  2. python中try except执行顺序

    python中try except finally的执行顺序 先执行try中语句 如果try中抛出异常, 执行异常中语句. 如果try 或 except 中没有return语句,执行完try 或者 e ...

  3. 当我们说线程安全时,到底在说什么——Java进阶系列(二)

    原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...

  4. RTSP协议媒体数据发包相关的细节

    最近完成了一RTSP代理网关,这是第二次开发做RTSP协议相关的开发工作了,相比11年的简单粗糙的版本,这次在底层TCP/IP通讯和RTSP协议上都有了一些新的积累,这里记录一下.基本的RTSP协议交 ...

  5. 3.Complementing a Strand of DNA

    Problem In DNA strings, symbols 'A' and 'T' are complements of each other, as are 'C' and 'G'. The r ...

  6. CvMat结构

    一.创建矩阵的方式: 1.cvCreateMat(int rows,int cols,int type),Type可以使任何预定义类型.Type的写法规则:CV_<bit_depth>(S ...

  7. 将list中的数据通过某一个字段来分类存储的实例

    现有学生表 public class Student { /** * 班级id */ private String classId; /** * 学生name */ private String na ...

  8. JDBC删除表数据

    delete 必须使用where 条件指定删除哪一行数据.通常用具有唯一性的主键进行标示. package qddx.JDBC; import java.sql.*; public class Del ...

  9. javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数

    javascript函数一共可分为五类:    ·常规函数    ·数组函数    ·日期函数    ·数学函数    ·字符串函数    1.常规函数    javascript常规函数包括以下9个 ...

  10. NSXMLParser解析xml格式

    NSXMLParser解析xml格式的数据 用法如下: 首先,NSXMLParser必须继续NSXMLParserDelegate协议 @interface XMLHelper : NSObject ...