前一篇中全量索引的data-config.xml 的配置为
<dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://199.xxx.xxx.xxx/quentinxxz_com" user="qqq" password="qqq"/> <document> <entity name="product" query="select id, price,modify_time from tts_product"> <field column="price" name="tts_price"/> <field column="modify_time" name="tts_modify_time"/> </entity> </document> </dataConfig>
对应的增量索引的data-config.xml 的配置为
<dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://199.xxx.xxx.xxx/quentinxxz_com" user="qqq" password="qqq"/> <document> <entity name="product" query="select id, price,modify_time from tts_product" deltaImportQuery="select id, price,modify_time from tts_product where ID='${dih.delta.id}'" deltaQuery="select id from tts_product where modify_time >'${dih.last_index_time}'"> <!----> <field column="price" name="tts_price"/> <field column="modify_time" name="tts_modify_time"/> </entity> </document> </dataConfig>
${dih.last_index_time}为dataimport.properties中的last_index_time信息
${dih.delta.id}为deltaQuery所查询出来的主键id
conf/dataimport.properties中自动存储的信息
#Wed Jul 30 10:58:44 GMT+08:00 2014 last_index_time=2014-07-30 10\:58\:37 product.last_index_time=2014-07-30 10\:58\:37
query是获取全部数据的SQL
deltaImportQuery是获取增量数据时使用的SQL
deltaQuery是获取pk的SQL
parentDeltaQuery是获取父Entity的pk的SQL
注:从配置文件来看,增量的效率似乎很低,"select id, price,modify_time from tts_product where ID='${dih.delta.id}"给我们的感觉是每有一条纪录,就根据id去查一定数据库。其实不然,仔细查看dataImportHanlder的源码,会发现实际执行的sql语句已经做过处理了,DIH会将多个id进行组合,修改sql语句,再执行一次查询。
相关推荐
在这个主题“跟益达学Solr5之增量索引MySQL数据库表数据”中,我们将深入探讨如何利用Solr 5来实现对MySQL数据库表数据的增量索引,以便在搜索时获得实时更新的结果。 首先,我们需要理解什么是增量索引。在传统的...
增量导入更新索引包是Solr中的一项重要功能,它允许系统仅处理自上次完整索引以来发生改变的数据,从而大大提升了效率并降低了资源消耗。下面将详细阐述Solr增量更新的相关知识点。 1. **Solr的索引机制** Solr...
Solr 数据导入处理器(DataImportHandler,DIH)是 Apache Solr 的一个重要组件,它允许用户从各种数据源,如关系型数据库、CSV 文件等,批量导入数据到 Solr 索引中。这个功能极大地简化了数据同步和更新的过程,...
在Solr6版本中,DataImportHandler(DIH)是一个非常重要的特性,它允许Solr从外部数据源导入数据并建立索引。在"solr6--solr-dataimporthandler-scheduler-1.1"这个项目中,我们关注的重点是DIH的调度功能,也就是...
4. **触发索引更新**:可以通过SOLR的API或Web界面来触发全量或增量数据导入,使SOLR根据MySQL中的最新数据更新索引。 接下来,我们关注到`schema.xml`文件。这是SOLR的核心配置文件,定义了索引的字段类型和字段。...
1. **创建 DataImportHandler (DIH)**: DIH 是 Solr 提供的一种工具,可以将外部数据源的数据导入到 Solr 索引中。在 `solrconfig.xml` 文件中启用并配置 DIH。 2. **配置 DataConfig.xml**: 这个文件定义了数据源...
在Solr中,为了实现与数据库的实时同步,通常会采用增量索引策略,确保数据库中的新数据或更新能够及时反映到Solr索引中,提高系统的响应速度和效率。 标题中的"solr同步数据库需要jar包"指的就是在进行Solr和...
《跟益达学Solr5之从MySQL数据库导入数据并索引》这篇文章主要探讨了如何使用Apache Solr 5从MySQL数据库中导入数据并建立索引,以便进行高效的全文搜索。Solr是一款强大的开源搜索服务器,它提供了丰富的查询语言、...
### 图解Solr 6.6.0安装与MySQL配置 #### 一、Solr简介与功能概述 Solr是一款开源的全文搜索引擎平台,基于Java语言开发,支持多种语言的数据索引与搜索。Solr拥有丰富的特性,如高度可扩展性、高性能、支持多种...
本教程将引导你完成Solr的基本安装、配置以及数据库索引的建立,特别关注定时增量索引这一重要特性。 首先,从Apache官方网站下载Solr的最新稳定版本,例如5.1.0。解压缩文件到任何你喜欢的目录,比如F盘。接下来,...
在与数据库集成的过程中,Solr提供了DataImportHandler(DIH)这一特性,使得能够从关系型数据库如MySQL导入数据到索引中。在你提供的压缩包中,包含了两个关键的jar文件,它们是实现Solr 7.5从MySQL数据库导入数据...
在`[solrhome]/test/conf`目录下创建或修改`schema.xml`文件,以确保Solr能够正确解析并索引来自MySQL的数据。 - **字段映射**:将数据库字段映射到Solr Document的Field上。 - **数据类型**:定义字段的数据类型,...
在Solr中,DataImportHandler(DIH)组件是一个强大的工具,用于从各种外部数据源,如关系型数据库(如MySQL)中导入数据并建立全文索引。在本例中,我们将探讨如何使用Solr 3.6版本的DIH组件来对MySQL数据库中的...
这个jar包的核心功能是DataImportHandler(DIH),它是一个内置在Solr中的模块,用于将外部数据源(如关系型数据库)的数据导入到Solr索引中。DIH支持全量导入和增量导入,这使得Solr可以保持与数据库的实时同步,...
在本文中,我们将深入探讨如何使用Apache Solr 3.6的数据导入处理(DataImportHandler,简称DIH)组件从MySQL数据库中创建全文索引。Solr是一个强大的、开源的企业级搜索平台,而DIH是Solr的一个核心特性,允许用户...
创建并配置好Core后,通过Solr的DataImportHandler执行全量或增量数据导入。在管理界面的Core操作中,选择`Dataimport`,然后点击`Execute Full Import`按钮。这将读取`data-config.xml`中的配置,从MySQL中抽取数据...
因此,Solr-dataimportscheduler插件应运而生,它的核心作用就是实现对Solr索引的增量更新,只导入自上次导入以来发生变化的数据,从而大大提高了数据同步的效率和系统的响应速度。 这个插件的1.1.1版本可能包含了...