SOLR 4.4 部署

前言:近期研究下solr4.4的部署,一下是部署步骤,与大家分享下。

下载solr4.4.0.zip

地址        http://mirror.esocc.com/apache/lucene/solr/4.4.0/solr-4.4.0.zip

apache-solr-dataimportscheduler-1.0.jar (调度重建索引jar包)

https://solr-dataimport-scheduler.googlecode.com/files/apache-solr-dataimportscheduler-1.0.jar

准备:能运行tomcat java环境 此次部署 采用     apache-tomcat-6.0.35

开始部署:

一    部署solr4.4

1      解压solr4.4.0.zip

2       将 solr-4.4.0\dist\solr-4.4.0.war拷贝到apache-tomcat-6.0.35\webapps下,重命名为solr,    启动tomcat,启动成功后停止tomcat,并将solr.war删除

3       将solr-server\solr-4.4.0\dist下的jar拷贝到                apache-tomcat-6.0.35\webapps\solr\WEB-INF\lib下

4       将solr-server\solr-4.4.0\dist\solrj-lib下的jar拷贝到           apache-tomcat-6.0.35\webapps\solr\WEB-INF\lib下

5       将 solr-server\solr-4.4.0\example\resources\log4j.properties拷贝到                  apache-tomcat-6.0.35\webapps\solr\WEB-INF\lib下

6       新建solrhome目录 将solr-server\solr-4.4.0\example\multicore下所有文件夹拷贝至       solrhome,本次将solrhome新建路径为D:\solr-server\SolrHome。

7       修改apache-tomcat-6.0.35\webapps\solr\WEB-INF\web.xml文件

解注释以下内容:

<env-entry>

<env-entry-name>solr/home</env-entry-name>

<env-entry-value>D:\solr-server\SolrHome</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

二     增加dataimport,实现定时更新 (此次以core1为例)

1       在 solr-server\SolrHome\core1\conf增加dataimport.properties,

内容为:

#FriSep 13 13:36:30 CST 2013

last_index_time=2013-09-1313\:36\:29

v_userrecord.last_index_time=2013-09-1313\:36\:29

次配置文件为增量更新用,每次更新都是更新last_index_time

和 v_userrecord.last_index_time时间后的数据

2       在solr-server\SolrHome\core1\conf\solrconfig.xml      加入以下内容

内容为:

<requestHandlername="/dataimport"    class="org.apache.solr.handler.dataimport.DataImportHandler">

<lst name="defaults">

<strname="config">db\db-data-config.xml</str>

</lst>

</requestHandler>

作用为指定dataimport配置文件位置

3       根据2步骤的配置为例 在solr-server\SolrHome\core1\conf下增加文件目录 db

db下增加文件db-data-config.xml

内容为:

<?xmlversion="1.0" encoding="UTF-8" ?>

<dataConfig>   <dataSource type="JdbcDataSource"driver="com.mysql.jdbc.Driver"

url="jdbc:mysql://127.0.0.1:3306/***"user="***"  password="***"  />

<document name="mytable">

<entity name="***" transformer="ClobTransformer"

query="***"deltaImportQuery="SELECT * FROM ***  where                     id=${dataimporter.delta.id}"deltaQuery="select id from        *** where *** >         '${dataimporter.last_index_time}' OR *** >'${dataimporter.last_index_time}' OR              ***> '${dataimporter.last_index_time}'">

</entity>

</document>

</dataConfig>

以上配置内容的意思是取最后一次的更新时间然后根据sql查出后更新索引

4       将apache-solr-dataimportscheduler-1.0.jar拷贝至

apache-tomcat-6.0.35\webapps\solr\WEB-INF\lib

将 mysql-connector-java-5.0.8.jar 拷贝到  apache-tomcat-6.0.35\webapps\solr\WEB-INF\lib下

5       在solrhome下添加 con文件目录

SolrHome\conf\在该文件夹下添加dataimport.properties

重要配置地方:

索引重建的间隔     (单位为分钟)

interval=1

重建索引时的参数(增量更新     执行clean和 commit   )

params=/dataimport?command\=delta-import&clean\=false&commit\=true

索引 webapp名称

webapp=solr

索引名称

syncCores=core1

server名称

server=localhost

端口

port=8080

#  重做索引时间间隔的计时开始时间,第一次真正执行的时间  =reBuildIndexBeginTime+reBuildIndexInterval*60*1000;

#  两种格式:2012-04-1103:10:00或者  03:10:00,后一种会自动补全日期部分为服务         启动时的日期

reBuildIndexBeginTime=03:10:00

有时候批量增量更新时会出现内存溢出,可以在solrconfig.xml 增增加以下内容

<autoCommit>
            <maxDocs>10000</maxDocs>
             <maxTime>1000</maxTime>
         </autoCommit>

也要记得调优tomcat 增加 jvm内存。在catlina.out 文件的最顶部加入以下:

set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512m

配置完成,启动tomcat后如果索引正常更新,恭喜你完成了。

如有问题,请联系 qq 931434891

[置顶] SOLR 4.4 部署的更多相关文章

  1. 【Solr】Solr的安装部署

    目录 Solr安装部署 Solr Web界面分析 回到顶部 solr安装和部署 solr下载 http://lucene.apache.org/ 安装solr,就是去部署它的war包,war包所在的位 ...

  2. [置顶]Win2012R2的一个Bug安装群集后可能引发的软件崩溃问题及相应补丁

    [置顶]Win2012R2的一个Bug安装群集后可能引发的软件崩溃问题及相应补丁 如标题,笔者查阅资料发现微软声称安装故障转角色后就可能发生上述描述问题,但不止于SSMS崩溃.建议使用win2012R ...

  3. [置顶] IIS应用程序池多工作进程设置及Session共享

    [置顶] IIS应用程序池多工作进程设置及Session共享   在调优iis的时候,朋友分享给我一个特别棒的设置方法步骤,感谢好朋友的分享. IIS应用程序池多工作进程设置及Session共享 1  ...

  4. [置顶] SQL Server 2005 双机热备的实现

    [置顶] SQL Server 2005 双机热备的实现 分类: SQLSERVER2011-08-24 21:25 901人阅读 评论(0) 收藏 举报 sql servermicrosoftsql ...

  5. 在UWP中页面滑动导航栏置顶

    最近在研究掌上英雄联盟,主要是用来给自己看新闻,顺便copy个界面改一下段位装装逼,可是在我copy的时候发现这个东西 当你滑动到一定距离的时候导航栏会置顶不动,这个特性在微博和淘宝都有,我看了@ms ...

  6. WinFrom窗体始终置顶

    调用WindowsAPI使窗体始终保持置顶效果,不被其他窗体遮盖: [DllImport("user32.dll", CharSet = CharSet.Auto)] privat ...

  7. Solr 4.0 部署实例教程

    Solr 4.0 部署实例教程 Solr 4.0的入门基础教程,先说一点部署之后肯定会有人用solrj,solr 4.0好像添加了不少东西,其中CommonsHttpSolrServer这个类改名为H ...

  8. winform窗体置顶

    winform窗体置顶 金刚 winform 置顶 今天做了一个winform小工具.需要设置置顶功能. 网上找了下,发现百度真的很垃圾... 还是必应靠谱些. 找到一个可以链接. https://s ...

  9. 自定义置顶TOP按钮

    简述一下,分为三个步骤: 1. 添加Html代码 2. 调整Css样式 3. 添加Jquery代码 具体代码如下: <style type="text/css"> #G ...

随机推荐

  1. iOS 常用第三方

    MWPhotoBrowser 非常好用的图片浏览器 FDFullscreenPopGesture 用于全屏滑动切换视图 Aspects 用于快速AOP编程 AFNetworking iOS开发中最为火 ...

  2. vue.js自定义指令入门

    Vue.js 允许你注册自定义指令,实质上是让你教 Vue 一些新技巧:怎样将数据的变化映射到 DOM 的行为.你可以使用Vue.directive(id, definition)的方法传入指令id和 ...

  3. ubuntu, Debian, CentOS

    ubuntu源自debian,内核很多文档都还是debian的字样,稳定性逐渐增强,基本满足日常开发. debian的核心稳定,性能强劲. centos的内核版本低,安全性高. 选择Debian是因为 ...

  4. npapi加载失败的几个原因

    本文只讨论加载失败的原因,不复述npapi的使用教程 1. 资源文件是否加上 MIMEType命名的id,和html中的<object>的标签是否对应 如果不相同加载必然失败: 2. 注册 ...

  5. (总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解

    PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...

  6. Java中的流程控制(一)

    程序的流程控制(一) 关于Java程序的流程控制(一) 从结构化程序设计角度出发,程序有三种结构: 顺序结构 选择结构 循环结构 1.顺序结构 就是程序从上到下一行行执行,中间没有判断和跳转. 2.i ...

  7. JQuery实战学习--在dreamweaver 8中配置Jquery自动提示

    最近在学习jQuery,然后在网上找到了自动提示的方法,记之. 1,首先下载jQuery_API.mxp这个扩展文件. 2,打开DW,点击命令-->扩展管理-->文件-->安装扩展, ...

  8. jQ中prop与attr的区别

    1.prop适用于HTML元素本身就带有的固有属性 2.attr适用于HTML元素我们自定义的属性 <input type="checkbox" value="复选 ...

  9. codeforces 535D. Tavas and Malekas KMP

    题目链接 又复习了一遍kmp....之前都忘光了 #include<bits/stdc++.h> using namespace std; #define pb(x) push_back( ...

  10. python xlrd对excel的读取功能

    工作簿 xlrd.open_workbook('test.xls') workbook.dump() workbook.nsheets workbook.sheets() workbook.sheet ...