gwuj 发表于 2018-11-1 12:36:59

第三步solr实现MySQL 数据库数据表索引

  1、修改索引地址:任意位置皆可,本文在E:\solr\下建了一个data文件夹,然后修改E:\solr\collection1\conf\solrconfig.xml 下的dir: 为创建的索引地址路径
${solr.data.dir:E:/solr/data}  2、建立数据库为es_data,在其下面建立一个名为news的数据表

  3、在E:\solr\collection1\conf下新建一个data-config.xml文件,在里面添加以下代码:注(用户名、密码、数据库、数据表)
  

  
   
  
   
  
      
  
            
  
            
  
            
  
            
  
      
  
   
  

  4、solr关联数据库:在E:\solr\collection1\conf\solrconfig.xml 下找到相应的位置添加以下这段配置:
  
   
  
      data-config.xml
  
   
  

  5、在E:\solr\collection1\conf\schema.xml 下找到下面的代码,并把
  type="ext_general”修改为type="text_zh"(分词方法):
  

  6、在E:\solr目录下建立lib文件夹,将solr-4.7.2\dist文件夹下的

  和自己准备的 mysql-connector-java-5.1.17.jar,放入E:\solr目录下lib文件夹下

  7、导入数据到solr:打开http://localhost:8080/solr/#/collection1/dataimport//dataimport    里把Clean、Commit和Optimize打钩,再点击Execute Import(蓝色按钮)

  8、打开查询页面,输入q输入框下输入

  注意事项:
  Solr提供了full-import和delta-import两种导入方式,这篇文章主要讲解后者。
  所谓delta-import主要是对于数据库(也可能是文件等等)中增加或者被修改的字段进行导入。主要原理是利用率每次我们进行import的时候在solr.home\conf下面生成的dataimport.properties文件,此文件里面有最近一次导入的相关信息。这个文件如下:
  1.#Wed Apr 21 16:48:27 CST 2010
  2.last_index_time=2010-04-21 16\:48\:24
  3.id.last_index_time=2010-04-21 16\:48\:24
  其实last_index_time是最近一次索引(full-import或者delta-import)的时间。
  通过比较这个时间和我们数据库表中的timestamp列即可得出哪些是之后修改或者添加的。
  可通过http://:/solr/dataimport查看
  下面是操作步骤:

[*]  1.       配置好请求处理器。(这个见我的上一篇文章)
[*]  2.       修改data-config.xml如下:
  
   
  
   
  
      
  
   
  
   
  

  注意entity标签的参数:

[*]  deltaImportQuery
  仅适用于delta-import的参数。DIH会检查数据库中的最后修改时间是否与我们
  这个示例为了尽可能简单,没有使用多表。数据库对应表结构如下:
  id    Integer       increment
  uservarchar(45)
  title varchar(45)
  content varchar(2000)
  timestamp datatime
  text    varchar(2000)

[*]  3.       最后我们请求:
  http://:/solr/dataimport?command=delta-import 即可完成delta import
  相关参数如下:

[*]  entity
  entity是document下面的标签(data-config.xml)。使用这个参数可以有选择的执行一个或多个entity   。使用多个entity参数可以使得多个entity同时运行。如果不选择此参数那么所有的都会被运行。

[*]  clean
  选择是否要在索引开始构建之前删除之前的索引,默认为true

[*]  commit
  选择是否在索引完成之后提交。默认为true

[*]  optimize
  是否在索引完成之后对索引进行优化。默认为true

[*]  debug
  是否以调试模式运行,适用于交互式开发(interactive development mode)之中。
  请注意,如果以调试模式运行,那么默认不会自动提交,请加参数“commit=true”


页: [1]
查看完整版本: 第三步solr实现MySQL 数据库数据表索引