Solr与Mysql数据库的集成,实现全量索引、增量索引的创建。
基本原理很简单:在Solr项目中注册solr的DataImportHandler并配置Mysql数据源以及数据查询sql语句。当我们通过Solr后台控制页面或者直接访问某个地址(后面给出),Solr就会调用DataImportHandler,连接数据库,根据sql语句查询数据,创建索引。
示例solr版本:solr4.3.1
约定Solr的安装目录,如E:\environment\solr-4.3.1为solr-home。
1. 拷贝jar包
将DataImportHandler所在的jar包和mysql的数据库驱动包Copy到solr-home/dist目录下。默认情况下该目录下已存在DataImportHandler所需的两个jar包。该Solr版本对应的jar包名字是:solr-dataimporthandler-4.3.1.jar、solr-dataimporthandler-extras-4.3.1.jar
2. 修改solr-home\example\solr\collection1\conf\solrconfig.xml文件
a. 增加所需jar包引用配置:
<lib dir="../../../dist/" regex="solr-dataimporthandler-.*\.jar" />
<lib dir="../../../dist/" regex="mysql-connector-java-.*\.jar" />
b. 增加resultHandler配置
<requestHandler name="/dataimport"
class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
3. 在solrconfig.xml的同级目录下创建data-config.xml文件,配置数据库连接和Solr与mysql数据的对应关系和查询语句。
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1/dbname" user="root" password="root"/>
<document name="search_object">
<entity name="talent"
query="select id, gender, qq, msn, anualSalary, updateTime, addUserId
from talent">
<field column="anualSalary" name="salary"/>
<field column="addUserId" name="userId"/>
<!--Talent Names-->
<entity name="talent_name" query="select value from talentname where talentId='${talent.id}'">
<field column="value" name="name"/>
</entity>
</entity>
</document>
</dataConfig>
4. 重启Solr。
批量导入(full-import):
http://<host>:<port>/solr/dataimport?command=full-import&commit=y
增量导入(delta-import):
http://<host>:<port>/solr/dataimport?command=delta-import&commit=y
导入状态查询(status):
http://<host>:<port>/solr/dataimport
重新装载配置文件(reload-config):
http://<host>:<port>/solr/dataimport?command=reload-config
终止导入(abort):
http://<host>:<port>/solr/dataimport?command=abort
分享到:
相关推荐
将 Solr 集成与 MySQL,可以实现对 MySQL 数据库中的数据进行实时索引和快速检索,从而提升数据查询效率。下面我们将详细介绍如何进行 Solr 6.0 与 MySQL 的集成配置。 **1. 安装与配置 Solr** 首先,你需要下载并...
#### 三、Solr与MySQL集成 **3.1 导入MySQL驱动包** - 将MySQL的JDBC驱动程序和Solr Data Import Handler (DIH) 相关的JAR文件导入到`mycore/lib`目录中。 - MySQL驱动程序可以从官方Maven仓库下载:...
2. **JDBC连接**:Solr可以通过JDBC数据导入处理器与MySQL建立连接,需要在Solr的配置中添加JDBC驱动,并配置相应的数据源连接参数。 3. **数据同步**:通过Solr的DIH定期或实时从MySQL中抽取数据,更新到Solr索引...
#### 一、Solr与MySQL集成概述 在本文中,我们将详细介绍如何配置Solr 5.3.1与MySQL数据库的集成,以便实现高效的数据搜索功能。Solr是一款高性能、可伸缩的企业级搜索引擎,它是Apache Lucene的分布式应用实例,...
solr-5.5.4与spring集成,增加了账号密码身份验证,增加了zk中文分词,增加了增量导入,mysql数据同步,增加了git链接地址
总的来说,通过学习这个主题,我们可以掌握如何利用Solr 5和MySQL之间的集成,实现高效的数据索引,这对于大数据环境下的实时搜索应用至关重要。理解并熟练掌握这些知识,将有助于提升我们的IT技能,特别是在大数据...
2. **Solr与MySQL集成** - **DataImportHandler (DIH)**:Solr提供了一个名为DIH的组件,用于从外部数据源,如MySQL,导入数据。DIH支持增量更新和全量导入,确保数据库中的数据变化能实时反映到Solr索引中。 - **...
与Tomcat 8.5的集成使得Solr能够作为一个Web应用程序在Java Servlet容器中运行。本配置教程将详细介绍如何在Tomcat 8.5上部署Solr 7.4,并连接到MySQL 8.0.11数据库,同时集成IK分词器,提升中文搜索体验。 首先,...
总结,Solr与JavaWeb开发的结合使得开发者能够轻松集成强大的全文搜索功能,而分词器的使用则进一步优化了对中文内容的处理。通过上述步骤,开发者可以搭建一个基础的Solr环境,并实现从数据库导入数据以及进行全文...
本Demo将展示如何使用Solr 7.4与MySQL数据库集成,实现数据导入,并结合IK分词器提升中文搜索体验。 首先,你需要下载并安装Solr 7.4.0。解压压缩包`solr-7.4.0`,这是一个包含Solr服务器和配置文件的完整包。在`...
本压缩包包含Solr 4.10.0的完整部署文件,以及额外的分词器和MySQL的JAR包,这对于那些需要与MySQL数据库集成并处理中文内容的项目来说非常实用。 1. **Solr 4.10.0核心组件**: - Solr 4.10.0包含了服务器端的...
2. **MySQL 集成**:Solr 可以与多种数据库进行集成,包括 MySQL。在这个配置中,已经完成了 Solr 与 MySQL 的连接配置,允许用户将数据库中的数据导入到 Solr 中,进行全文检索。这通常通过 DataImportHandler (DIH...
Solr是中国大文本检索平台Apache Lucene的一个...同时,通过MySQL-connector-java驱动,Solr可以与MySQL数据库无缝集成,实现数据的检索和索引。了解并熟练运用这些知识点,将有助于提升你的Solr应用的性能和用户体验。
这一过程与MySQL的主从复制机制类似,每个Region Server都有自己的WAL Log,并且在ZooKeeper中维护同步位置。 操作时序图大致如下: 1. 客户端(Client)对HBase执行Put或Delete操作。 2. 操作被记录在本地Region ...
总的来说,这两个jar文件是Solr与MySQL集成的重要工具,通过它们,你可以便捷地将数据库中的数据导入到Solr索引中,从而实现快速高效的搜索功能。在实际应用中,需要结合Solr的其他特性和配置进行细致的调整,以满足...
为了进一步集成,你还可以通过API(如HTTP RESTful API或Java API)与Solr交互,将应用程序的数据输入到索引中,或者从索引中检索结果。Solr支持多种编程语言的客户端库,方便开发者实现这一目的。 总之,Solr+...
11. **XML/JSON API**:Solr 提供了基于HTTP的XML和JSON接口,方便与其他应用程序集成。 12. **强大的文档处理**:Solr可以处理各种格式的文档,如PDF、Word、HTML等,并从中提取文本进行索引。 在“solr-4.9.0”...
- 解释如何将Solr与MySQL等数据库结合使用。 - 讨论数据同步策略,确保索引数据与数据库中数据的一致性。 - 分析不同场景下Solr与数据库交互的最佳实践。 5. **高级特性**: - 动态字段类型:了解如何定义动态...