如果希望同时对多个表进行全文检索,那我们该如何处理呢?利用DIH导入数据并建立索引时。schema.xml中配置了uniqueKey为id

<uniqueKey>id</uniqueKey>

  如果多表主键都为id的话索引会被覆盖

    <!--deltaImportQuery和deltaQuery为增量导入时使用。--><entity name="case"  pk="id"query="SELECT id,title, summary, 'case' as type FROM case"deltaImportQuery="SELECT id, title, summary, 'case' as type from case WHERE id='${dih.delta.id}'"deltaQuery="SELECT id, title, summary, 'case' as type FROM case  WHERE create_time > '${dih.last_index_time}'"><!--field用于配置schema.xml中field和数据库字段的对应关系。column:数据库中字段名称,name:schema.xml中配置的名称--><field column="id" name="id"/><field column="title" name="title"/>       <field column="summary" name="summary"/>  </entity><!--deltaImportQuery和deltaQuery为增量导入时使用。--><entity name="casetest"  pk="id"query="SELECT id,title, summary, 'case_test' as type FROM casetest"deltaImportQuery="SELECT id, title, summary, 'case_test' as type from casetest WHERE id='${dih.delta.id}'"deltaQuery="SELECT id, title, summary, 'case_test' as type FROM casetest  WHERE create_time > '${dih.last_index_time}'"><!--field用于配置schema.xml中field和数据库字段的对应关系。column:数据库中字段名称,name:schema.xml中配置的名称--><field column="id" name="id"/><field column="title" name="title"/>       <field column="summary" name="summary"/><field column="type" name="type"/></entity>

  由于id是唯一键,如果id重复索引会被覆盖掉。此时可以加个简易的标识,以便构造不同表的uniqueKey

  修改后配置文件

    <!--deltaImportQuery和deltaQuery为增量导入时使用。--><entity name="case"  pk="id"query="SELECT concat('case_Type_', id) as id,title, summary, 'case' as type FROM case"deltaImportQuery="SELECT concat('case_Type_', id) as id, title, summary, 'case' as type from case WHERE id='${dih.delta.id}'"deltaQuery="SELECT concat('case_Type_', id) as id, title, summary, 'case' as type FROM case  WHERE create_time > '${dih.last_index_time}'"><!--field用于配置schema.xml中field和数据库字段的对应关系。column:数据库中字段名称,name:schema.xml中配置的名称--><field column="id" name="id"/><field column="title" name="title"/>       <field column="summary" name="summary"/>  </entity><!--deltaImportQuery和deltaQuery为增量导入时使用。--><entity name="casetest"  pk="id"query="SELECT concat('case_test_Type_', id) as id,title, summary, 'case_test' as type FROM casetest"deltaImportQuery="SELECT concat('case_test_Type_', id) as id, title, summary, 'case_test' as type from casetest WHERE id='${dih.delta.id}'"deltaQuery="SELECT concat('case_test_Type_', id) as id, title, summary, 'case_test' as type FROM casetest  WHERE create_time > '${dih.last_index_time}'"><!--field用于配置schema.xml中field和数据库字段的对应关系。column:数据库中字段名称,name:schema.xml中配置的名称--><field column="id" name="id"/><field column="title" name="title"/>       <field column="summary" name="summary"/><field column="type" name="type"/></entity>

本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/5053320.html,如需转载请自行联系原作者

多表利用DIH批量导入数据并建立索引注意事项相关推荐

  1. mysql 存储过程 批量导入数据_sql 利用存储过程批量导入数据

    什么是 存储过程(stored procedure)是一组为了完成特定功能的sql语句集,是利用sql server所提供的transact-sql语言所编写的程序.经编译后存储在中.存储过程是数据库 ...

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

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

  3. vue表单中批量导入功能_spring boot mybatis+ vue 使用POI实现从Excel中批量导入数据

    一.前端vue+element 1.前端使用element的upload组件来实现文件的上传 style="display: inline-flex;margin-right: 8px&qu ...

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

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

  5. 批量导入数据到mssql数据库的

    概述 批量导入数据到数据库中,我们有好几种方式. 从一个数据表里生成数据脚本,到另一个数据库里执行脚本 从EXCEL里导入数据 上面两种方式,导入的数据都会生成大量的日志.如果批量导入5W条数据到数据 ...

  6. excel批量导入数据

    这个功能也是我以前项目中经常用到的,感觉很实用,必须拿来分享下: excel进行批量导入数据,结合struts2+ajax 导入的视图:batchAdd.ftl(视图无关紧要的,可以换成其他任何视图, ...

  7. 微信小程序云开发——常用功能2:操作云数据库一键批量导入数据(导入json文件)

    微信小程序云开发--常用功能2:操作云数据库一键批量导入数据(导入json文件) 今天我们要添加100条数据.下面的过程是先创建一条记录,然后导出这条数据看json文件中是如何编辑字段的,然后仿照这个 ...

  8. 批量导入数据将word文档转换成HTML文档

    1.在批量导入数据里:第一步下载一个word文档模板,用户可以根据这个worm文档模板的要求去填写数据,填学好数据之后保存worm文档 2.在页面选择到word文档保存到from表单中,通过ajaxS ...

  9. matlab常用代码(读取文件、批量导入数据、与或非)

    学习matlab使用过程中遇到的各种常见小操作,放在这里权当记录,持续更新中.包括批量导入数据.读取/写入不同类型的文件.与或非.cell.randperm的使用等 一.常见函数或小技巧 1. 记录程 ...

最新文章

  1. 微盟创始人孙涛勇回应员工删库;字节跳动推“头条搜索”独立 App;C++ 20 规范完成| 极客头条...
  2. Cocos2d-x 3.0游戏开发之虚拟机IOS环境:匹配才是好,莫要随便升级软件
  3. 鸟哥的Linux私房菜(基础篇)- 第六章、Linux 的文件权限与目录配置
  4. 移动端怎么设计适合的表单?
  5. NLP模型压缩六大方法介绍
  6. SpringBoot中实现批量文件上传
  7. 23种设计模式C++源码与UML实现--观察者模式
  8. 【数据结构】线性表大咖
  9. LNMP实现服务器轮询负载均衡
  10. 视觉SLAM十四讲学习笔记-第三讲-相似、仿射、射影变换和eigen程序、可视化演示
  11. 2019.8.13节点的选取
  12. AndroidStudio安卓原生开发_Activity和AppCompatActivity的区别认识---Android原生开发工作笔记127
  13. [恢]hdu 2143
  14. php获取银行logo,依据银行卡号获取银行信息php代码
  15. C语言的酒店客房管理系统
  16. 计算机十年歌曲,抖音还有多少个十年原唱是谁 歌词一览
  17. UVa 10608 - Friends(并查集)
  18. [小技巧] git: Your branch and 'origin/master' have diverged
  19. [软件工程 复习] 记录
  20. 蓝牙耳机哪个牌子运动舒适?2021音质卓越佩戴舒适这五款不要错过

热门文章

  1. python给空列表赋值_Python Pandas:如果数据是NaN,则更改为0,否则在数据框中更改为1...
  2. mysql的utf8与utf8mb4 异同;utf8mb4_unicode_ci 与 utf8mb4_general_ci 如何选择
  3. 使用Flink集群环境进行数据处理
  4. 百度超级链Xuper关于金额相关问题
  5. zookeeper分布式锁原理及实现
  6. 利用计算机测地震是计算机的什么,计算机在气象预报、地震探测、导弹卫星轨迹等方面的应用都属于( )...
  7. 10炫酷关机_Linux 中实用但很小众的 11 个炫酷终端命令
  8. Spring AOP 功能使用详解
  9. ssm框架搭建+easyui增删改查实现
  10. tomcat基础架构剖析