Solr与Mysql简单集成
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简单集成的更多相关文章
- Springboot+mybatis+dbcp+mysql简单集成
1.添加依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>m ...
- Solr与MySQL查询性能对比
本文简单对比下Solr与MySQL的查询性能速度. 测试数据量:10407608 Num Docs: 10407608 这里对MySQL的查询时间都包含了从MySQL Server获取数据的时 ...
- SSH整合框架+mysql简单的实现
SSH整合框架+mysql简单的实现 1. 框架整合原理: struts2整合Spring 两种: 一种struts2自己创建Action,自动装配Service : 一种 将Action交给Spri ...
- python(pymysql)之mysql简单操作
一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...
- Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)
然后是项目下的文件:完整的项目请看 上一篇 Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一) 项目下的springmvc-servlet.xml配置文件: ...
- JAVA使用jdbc连接MYSQL简单示例
以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...
- Solr配置与简单Demo[转]
Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/sol ...
- mysql简单主从复制(一)
MYSQL简单主从复制 master:172.25.44.1 slave:172.25.44.2 mysql5.7安装 master和slave均操作 准备rpm包:mysql-5.7.17-1.el ...
- MySql 简单统计查询消耗时间脚本
MySql 简单统计查询消耗时间脚本 by:授客 QQ:1033553122 drop procedure if exists selectTime; delimiter; create proced ...
随机推荐
- Unity3d开发wp8问题汇总
原地址:http://blog.csdn.net/sunshine_1984/article/details/12849117 .wp8应用点击返回键没有响应将Unity3d导出wp8工程后,编译工程 ...
- ECMALL目录结构设置与数据库表
[Ecmall]ECMALL目录结构设置与数据库表 最近在做ecmall的开发,ecmall在开源方面还有待进步啊,官方没有提供开发文档,也没有关于系统架构组织的贡献,使用者都要自己从0开始,官方 ...
- Apache Ignite——新一代数据库缓存系统
[编者按]飞速增长的数据需要大量存储,对这些数据的管理也不是一件容易的事.但相比于存储和管理,如何处理数据才是开发人员真正的挑战.对于TB级别数据的存储和处理通常会让开发人员陷入速度.可扩展性和开销的 ...
- 谈谈WCF中的Data Contract(3):WCF Data Contract对Collection & Dictionary的支持
谈谈WCF中的Data Contract(3):WCF Data Contract对Collection & Dictionary的支持 在本篇文章上一部分Order Processing的例 ...
- POJ1222 高斯消元法解抑或方程
第一次学怎么用高斯消元法解抑或方程组,思想其实很简单,方法可以看下面的链接:http://blog.csdn.net/zhuichao001/article/details/5440843 有了这种思 ...
- 关于JS中变量的作用域-实例
先看问题,如下,自己运行一下吧! if (!('_qyzA' in window)) { var _qyzA = 1; } alert(_qyzA);//undefined 分析:首先,所有的全局变量 ...
- 常用的Linux终端
常用的Linux终端 gnome-terminal (Gnome标配) xfce4-terminal (XFCE4标配) lxterminal (LXDE标配) konsole (KDE标配) 前面3 ...
- java:访问权限
访问权限四大类:权限从大->小 1.public: 公共权限 2.protected: 受保护权限 3.default: 包级别访问权限/默认权限 4.private: 私有权限 以p ...
- css3 去掉点击高光(移动端)
在我们用手机浏览网页时,当点击某个链接或者点击事件时 会出现一层蓝色半透明的高光显示, 但在开发webapp时,由于网页是被native load去的,在app里面点击的时候如果出现高光则显得很不和谐 ...
- php整理(三): 面向对象
PHP学习(三)----面向对象 首先,还是建立一个好的理解模型: 1.什么是面向对象? 面向对象分为两个部分,那就是:什么是对象和什么是面向? 什么是对象: 对象的出现就是为了用代码更好的绘制我 ...