步骤1:

在webapps中solrhome下新建一个文件夹名字叫做mynode(名字不固定,可以随便取,但是这个名字在后面的配置中会有所关联。)然后在mynode文件下新建一个名字叫做conf的文件夹(这个文件名字最后不要改。)然后把官网下下来的solr项目中solr-6.0.0\server\solr\configsets\data_driven_schema_configs\conf下的所有东西复制到conf中去。(注意不要复制错!)最后把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中去。

步骤2:

把mysql所需的jar包和solr-6.0\solr-6.0.0\dist下的solr-dataimporthandler-6.0.0.jar和solr-dataimporthandler-extras-6.0.0.jar都复制到项目WEB-INF\lib下。然后在solrconfig.xml文件中加入(就是把WEB-INF\lib里面的jar包配置到项目中,我这里用的是绝对地址。这段代码大约在solrconfig.xml的70多行处,前面有一堆类似的代码。)

步骤3:

在MYSQL中新建一张表。我这里用的是Navicat管理工具进行创建的。这里的表名是goods。字段如下图所示:

步骤4:

在solrconfig.xml的  之上添加

data-config.xml

然后在conf下新建data-config.xml文件。里面内容如下:

query="select * from  goods"

deltaImportQuery="select * from goods where id='${dih.delta.id}'"

deltaQuery="select id from goods where updateTime> '${dataimporter.last_index_time}'">

说明:

dataSource是数据库数据源。Entity就是一张表对应的实体,pk是主键,query是查询语句。Field对应一个字段,column是数据库里的column名,后面的name属性对应着Solr的Filed的名字。其中solrdata是数据库名,goods是表名。

其中deltaQuery是增量索引,原理是从数据库中根据deltaQuery指定的SQL语句查询出所有需要增量导入的数据的ID号。然后根据deltaImportQuery指定的SQL语句返回所有这些ID的数据,即为这次增量导入所要处理的数据。核心思想是:通过内置变量“${dih.delta.id}”和 “${dataimporter.last_index_time}”来记录本次要索引的id和最近一次索引的时间。

最后在conf文件下的managed-schema配置field信息:

其中id,name,number,updateTime是上面提到的数据库字段。下面三个field是系统本身的不能删除,否则会运行错误。

步骤5:

启动tomcat,并在URL中输入http://127.0.0.1:8080/solr/index.html路径。选择Core admin 输入如下设置:

设置好之后,点击Add Core按钮,进行设置,设置成功后,再core Selector选择刚刚添加的core。

选择刚刚添加的goods实体进行索引操作:我们这儿可以选择full-import或者delta-import(增量索引),选择增量索引需要把clean的勾给去掉,不然会清除之前的,增量的索引的初衷是对新增或者修改的记录重新索引,会追加到原有的索引文件当中。当我们选择full-import的时候,最好就是把原有的索引文件给清空重新索引。

索引成功如下如所示:

使用query进行测试,输入sa查出了sa

数据库中的数据如下图所示:

这就成功的配置完了MYSQL数据库了

solr6 mysql_solr6 从mysql上导入数据相关推荐

  1. Solr之搭建Solr6.0服务并从Mysql上导入数据

    https://blog.csdn.net/linzhiqiang0316/article/details/51464461 目前百度上面关于solr对MYSQL的集成一般都是4.0左右.但是前sol ...

  2. python批量导入mysql_用python批量向数据库(MySQL)中导入数据

    用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...

  3. python 数据导入mysql_用python批量向数据库(MySQL)中导入数据

    用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同Current database: pyth ...

  4. mysql数据库导入数据的几种方式

    mysql数据库导入数据的几种方式 适用于大量数据的导入 一.excel方式导入 1.将需要的数据放到表格中,需要注意表格中的列必须与要导入的表保持一致 2.导入步骤 二.csv文件导入 1.一般拿到 ...

  5. MySQL快速导入数据

    今天分享的是mysql中导入数据的一个方法 load data INFILE,这个方法比一般的insert要快,废话不多说直接上手. 导入数据 在这里注意一下写路径的时候斜线一定要是双斜线. 数据的要 ...

  6. 搜索引擎Solr系列(二): Solr6.2.1 从MySql中导入数据

     一:建立MySql测试表,如下图: 二:solr导入配置: 1.新建demo core文件夹,并修改managed-schema里面的配置文件建立索引字段: 2.把mysql-connector-j ...

  7. MySQL批量导入数据

    在我们使用数据库的过程中,避免不了备份.恢复.导入.导出数据,方法比较多,根据不同的数据量选择不同的方法,会提高我们的工作效率, (1)从表A导入数据到表B:一般涉及到表结构相同或者表结构不同等情况, ...

  8. java mysql 文本导入数据语句_Java利用MYSQL LOAD DATA LOCAL INFILE实现大批量导入数据到MySQL...

    Mysql load data的使用 数据库中,最常见的写入数据方式是通过SQL INSERT来写入,另外就是通过备份文件恢复数据库,这种备份文件在MySQL中是SQL脚本,实际上执行的还是在批量IN ...

  9. Linux系统下MySQL的导入数据的命令语句Load Data InFile的用法详解

    文章目录 语法格式 LOW_PRIORITY CONCURRENT LOCAL REPLACE 或 IGNORE PARTITION CHARACTER SET 对导入文件的字段进行格式描述 指定行的 ...

最新文章

  1. Call to undefined function mysql_connect()
  2. windows charles response 乱码解决办法
  3. 【踩坑】遇到 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 报错...
  4. Ubuntu18.04 显卡驱动安装
  5. openssl https 单向认证连接成功示例
  6. DCMTK:OFvariant的单元测试
  7. MockupBuilder
  8. 一步步编写操作系统 56 门、调用门与RPL序 1
  9. 采用python解决实际问题_应用 Python 解决一些实际问题
  10. Centos升级安装.Net core 1.1
  11. Linux中grep命令查找文件,Linux中使用grep命令搜索文件名及文件内容的方法
  12. css中设置字体下划线,css如何设置字体下划线
  13. XDG0062 XAML 与XDG0008 XAML 错误的解决办法
  14. android hud软件,手机HUD靠谱软件选哪些?_手机_手机生活应用-中关村在线
  15. Iterator 的用法
  16. 怎么使用XCode给iOS手机安装测试包
  17. 面试题,移动端APP测试常见bug记录
  18. 装完 Ubuntu 13.10 该干的事儿
  19. 高等数学强化6:二重积分
  20. nginx访问服务器未响应,nginx与后端的超时设置测试

热门文章

  1. NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成...
  2. 使用mybatis自动生成指定规则的编号
  3. 《iOS 6高级开发手册(第4版)》——1.5节秘诀:使用加速能力“向上”定位
  4. webpack入门+react环境配置
  5. Linux ipcs命令与ipcrm命令的用法详解
  6. Swift中如何重新懒加载
  7. 关于 htonl 和 ntohl 的实现
  8. 软件过程与项目管理(作业一)
  9. Delphi中Chrome Chromium、Cef3学习笔记(二)
  10. Android系统默认Home应用程序(Launcher)的启动过程源码分析