(一)Tomcat服务器整合solr-5.5.4,同步mysql数据库

Solr是基于Apache Lucene ™构建的流行,快速,开源的企业搜索平台,具有高可靠性,可扩展性和容错性,可提供分布式索引,复制和负载均衡查询,自动故障转移和恢复,集中配置等。Solr为世界上许多最大的互联网站点提供搜索和导航功能

准备

下载Solr5.5.4并解压

http://archive.apache.org/dist/lucene/solr/

需要下载tomcat8,tomcat7会报错,下载完之后放在同一个文件夹下,方便配置,新建solr_home文件夹(可自定义文件夹名字)

开始配置

进入solr目录 ..\apache-solr\solr-5.5.4\server\solr-webapp\ 下将目录下的webapp拷贝到tomcat下的webapp下并改名solr(可自定义),看下图

将solr目录下 xx\apache-solr\solr-5.5.4\server\lib\ext\下的所有jar包

拷贝到 xx\apache-solr\apache-tomcat-8.5.34\webapps\solr\WEB-INF\lib\ 下

对,还有一个log4j的配置文件

E:\apache-solr\solr-5.5.4\server\resources 下的 log4j.properties 拷贝到如下目录(classes如果没有需要新建)

 

开始配置solr_home,这个是是存放索引目录的文件夹

将 xx\apache-solr\solr-5.5.4\server\solr 下所有的文件都 Copy 到solr_home下

 

Copy的事情已经完成了,下面修改配置文件

进入到 tomcat 下的solr目录 xx\apache-solr\apache-tomcat-8.5.34\webapps\solr\WEB-INF\ 修改web.xml

取消下面这段代码的注释,修改 <env-entry-value> 引用的索引绝对路径,其他的不用动(最好按照我这个目录来创建,后期熟练了可以自己去修改)

<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>E:\apache-solr\solr_home</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

 

启动

保存刚才修改的配置,启动 tomcat

访问:http://localhost:8080/solr/admin.html

能访问到页面算是第一步配置成功了

 

同步数据库(Mysql)

先导入 jar 包

连接mysql数据库必需的jar包:mysql-connector-java-5.1.12-bin.jar

xx\apache-solr\solr-5.5.4\dist\目录下的 solr-dataimporthandler-5.5.4.jar、solr-dataimporthandler-extras-5.5.4.jar

都拷贝到 xx\apache-solr\apache-tomcat-8.5.34\webapps\solr\WEB-INF\lib\ 下

 

 

创建数据表,手动添加一些测试数据

DROP TABLE IF EXISTS `article`;
CREATE TABLE `article` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `author` varchar(255) DEFAULT NULL,
  `type` varchar(255) DEFAULT NULL,
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

 

在solr_home目录下新建solr_core(索引单元库,名字随意)

复制 xx\apache-solr\solr_home\configsets\sample_techproducts_configs\ 下的 conf 放到刚才创建的 solr_core下面

 

打开 \solr_home\solr_core\conf\ 下的 data-config.xml (也可能叫db-data-config.xml)修改成自己数据库(参考文档

<dataConfig>
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"       
	url="jdbc:mysql://localhost/comtrade" user="root" password="root" />
    <document name="article">
        <entity name="article" pk="id" 
		query="select id,title,author,type from article"
		deltaImportQuery="select * from article where id ='${dih.delta.id}'"
        deltaQuery="select id from article where update_time  > '${dataimporter.last_index_time}'">

		<field name="id" column="id"/>
		<field name="title" column="title"/>
		<field name="author" column="author"/>
		<field name="type" column="type"/> 
		<field name="update_time" column="update_time"/> 

        </entity>
    </document>
</dataConfig>

修改solrconfig.xml,引入刚才配置好的数据库连接信息

找到<requestHandler> 标签,在同级的位置新增一个如下的配置

<!-- Solr导入数据库数据配置 -->
	<requestHandler name="/dataimport" class="solr.DataImportHandler">
      <lst name="defaults">
            <str name="config">data-config.xml</str>
      </lst>
  </requestHandler>

定义solr显示的字段,修改managed-schema,添加 field 字段

你数据库有哪些字段就添加哪些字段,其他的 field字段可以删除,不然启动会报错

 

<!-- 属性说明 
    <field name="域名(字段名)" 
            type="域的类型,必须匹配数据类型" 
            indexed="是否做索引" 
            stored="是否要存储"
            required="是否必填,一般id才会设置" 
            multiValued="是否有多个值,如果为多值,采用数组方式存储" /> 
   -->

 

保存修改的配置,重启tomcat,就会出现一个solr_core

导入数据、查询

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值