将数据库表导入到solr索引

  1. 编辑solrcofnig.xml添加处理器

     <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"><lst name="defaults"><str name="config">data-config.xml</str></lst></requestHandler>
  2. 创建一个名为data-config.xml的文件并保存如下内容到conf目录(也就是solrconfig.xml的目录)

     <dataConfig><dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost/dbname" user="user-name" password="password"/><document><entity name="id" query="select id,name,desc from mytable"></entity></document></dataConfig>
  3. 编辑schema.xml文件,保证文件中有'id','name','desc'等fields。并更改data-config.xml的详细信息。

  4. 将JDBC的jar驱动文件放到/lib文件夹中(tomcat/webapps/solr/WEB-INF/lib)

  5. 运行命令 http://solr-host:port/solr/dataimport?command=full-import进行全量索引,每次进行全量索引时,会将数据清空,如果不想清空需要添加clean=false。例如http://solr-host:port/solr/dataimport?command=full-import&clean=false

在字段名和field明不同的时候添加索引

  1. 修改data-config.xml,如下所示

     <dataConfig><dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost/dbname" user="user-name" password="password"/><document><entity name="id" query="select id,name,desc from mytable"><field column="id" name="solr_id"/><field column="name" name="solr_name"/><field column="desc" name="solr_desc"/></entity></document></dataConfig>
  2. 写入solr的字段为'solr_id', 'solr_name', solr_desc'。所以schema.xml中必须要要这几个field。

  3. 运行 http://solr-host:port/dataimpor?command=full-import 建立索引

配置多个表建立索引

  1. 修改data-config如下:

     <dataConfig><dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost/dbname" user="user-name" password="password"/><document><entity name="outer" query="select id,name,desc from mytable"><field column="id" name="solr_id"/><field column="name" name="solr_name"/><field column="desc" name="solr_desc"/><entity name="inner"query="select details from another_table where id ='${outer.id}'"><field column="details" name="solr_details"/> </entity></entity></document></dataConfig>
  2. schema.xml应该包含solr_details的字段

  3. 运行full-import

mysql配置

  1. 下载mysql的JDBC的jar,并拷贝到/lib的文件夹

  2. 修改data-config为如下

     <dataConfig><dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"    url="jdbc:mysql://ip:3306/dbname"    user="username"    password="password"/> <document name="products"><entity  ......</entity></document></dataConfig>

DataImportHandler支持的命令

abort          http://<host>:<port>/solr/dataimport?command=abort          终止命令
delta-import   http://<host>:<port>/solr/dataimport?command=delta-import   增量
full-import    http://<host>:<port>/solr/dataimport?command=full-import    全量
reload-config  http://<host>:<port>/solr/dataimport?command=reload-config  重新加载配置
status         http://<host>:<port>/solr/dataimport?command=status         状态查询  

将数据库表导入到solr索引相关推荐

  1. solr mysql 导入命令_Solr 07 - Solr从MySQL数据库中导入数据 (Solr DIH的使用示例)

    1 加入数据导入处理器的jar包 复制Solr解压后dist目录中的:solr-dataimporthandler-4.10.4.jar; 粘贴到contrib/dataimporthandler/l ...

  2. Solr 07 - Solr从MySQL数据库中导入数据 (Solr DIH的使用示例)

    目录 1 加入数据导入处理器的jar包 2 加入数据库驱动包 3 配置solrconfig.xml文件 3.1 配置lib标签 - 加入驱动jar包 3.2 配置requestHandler标签 - ...

  3. MySQL(六):数据库的导入和导出+索引+用户权限管理

    文章目录 一.数据备份 二.权限管理 1.创建用户 2.给用户授权 3.删除用户 4.修改用户密码 4.1修改密码步骤 4.2忘记密码怎么办 三.索引 1.为什么要使用索引: 2.添加索引的优缺点: ...

  4. 关于SQL 数据库表中的聚集索引和非聚集索引等

    原文地址:http://www.cppblog.com/zuoyinbo/archive/2008/06/03/52075.html          1.概念          索引是在数据库表或者 ...

  5. U8API——向U8数据库表导入数据

    //[新增或修改]调用示例//如果是非门户的独立进程,请将U8SOFT\ufcomsql目录中的U8Login.dll替换为Debug版的Login.//添加对Interop.U8Login.dll引 ...

  6. c datatable导入mysql_《项目经验》–简单三层使用DataTable向数据库表批量导入数据—向SqlServer一张表中导入数据 | 学步园...

    向数据库的一张表中添加数据,可以采用单个添加,即一条数据.一条数据的添加:也可以采用批量导入,依次将好些条数据写入数据库的一张表中.文本借助实例<添加系列信息>讲解一种向数据库批量导入数据 ...

  7. 批量向数据库多张表导入数据的实现

    转载自  http://blog.csdn.net/mazhaojuan/article/details/8598368 前面已经介绍过如何向数据库的一张表中批量导入数据,详情见博客<项目经验- ...

  8. 《项目经验》--简单三层使用DataTable向数据库表批量导入数据---向SqlServer多张张表中导入数据

    前面已经介绍过如何向数据库的一张表中批量导入数据,详情见博客<项目经验---简单三层使用DataTable向数据库表批量导入数据---向SqlServer一张表中导入数据>:本文主要介绍如 ...

  9. 导入excel和json数据到数据库表中

    导入excel和json数据到数据库表中 1.清除表中数据 2.从excel中导入数据 3.导入JSON数据到表中 Mysql:5.7.33 工具:navicat 12 在所有操作之前先将数据库备份, ...

最新文章

  1. oracle经典书籍推荐
  2. 华为交换机配置DHCP服务器
  3. 香港四大天王影帝情况(截止2016)
  4. 太强了!Kaggle竞赛宝典方案汇总
  5. 模型优化在风控中的运用(全)
  6. 用php的for循环画椭圆,如何快速简单的使用css3画出各种各样的椭圆
  7. 和catch的区别_面试刷题2:Exception和Error的区别?
  8. 蓝桥杯2019年第十届C/C++国赛B组 题B-质数拆分(素数筛选+01背包问题)
  9. c++ STL之unordered_map
  10. android抓包工具_无需额外工具,简单抓包教程
  11. linux搜索word文档内容,在目录中搜索MS word文件以获取Linux中的特定内容
  12. java 追加文件换行_java 追加换行txt
  13. 奥克兰大学计算机it专业介绍,新西兰奥克兰大学IT硕士专业解析
  14. 教你如何进行嵌入式网络模块的联网操作
  15. AI时代的全链路监控(阿里)
  16. //菱形,内藏十字架
  17. 雅可比矩阵matlab实现
  18. thinksnsv4.6运行php,社交开源系统ThinkSNS V4.6.4更新,版本更新提示功能上线
  19. 手握国企offer,33岁程序员不按常理出牌,网友炸了!
  20. win10将WLAN网络共享给以太网

热门文章

  1. php如何查看上传的文件大小,PHP设置最大上传文件大小
  2. html安卓手机打开后只有半屏,宽度设置100%在移动端时变成一半
  3. cropper初始化_jQuery.cropper中文API详解
  4. 答题闯关php,成语答题闯关红包流量主小程序源码
  5. Eclipse 答疑:Eclipse 如何更换夜间及外部主题?如何修改代码样式、背景颜色、字体大小?为何注释文字大小不一?
  6. 涉及子模块_COMSOL Multiphysics 5.6 RF模块更新详解
  7. js 创建keyframe_javascript – 查找特定的CSS @keyframes规则
  8. matlab bad apple,【bad apple】matlab制作矩阵苹果~
  9. oracle ora 12011,执行oracle中的job报错:ORA-12011:无法执行作业1
  10. c语言for循环26个英文字母,菜鸟求助,写一个随机输出26个英文字母的程序