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. nodejs在服务器上运行

     nodejs运行之后,关掉链接,网站运行就会断开,需要安装forever,后台执行. 安装方法如下(在windows和Linux下都能运行)://forever的安装: npm install fo ...

  2. android 监听 USB 拔插广播消息

    USBBroadcastReceiver.java package com.example.communication; import android.content.BroadcastReceive ...

  3. Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 之间的区别

    Page.ClientScript.RegisterClientScriptBlock 在页面紧跟<form>之后,整个页面未完全加载完成. Page.ClientScript.Regis ...

  4. 消息处理之performSelector

    performSelector和直接调用方法的区别 performSelector: withObject:是在iOS中的一种方法调用方式.他可以向一个对象传递任何消息,而不需要在编译的时候声明这些方 ...

  5. 计算Date间的分钟数

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm"); Date date_begin = simpl ...

  6. MFC的资源切换AFX_MANAGE_STATE(AfxGetStaticModuleState()

    转载自:http://blog.chinaunix.net/uid-20532101-id-1931929.html 以前写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的 ...

  7. 浅谈Hash函数

    什么是hash函数: hash函数也可以翻译成“散列”函数,一般就使用音译“哈希”函数,简单的说哈希函数是对任意长度的输入进行的压缩映射,所谓的压缩映射顾名思义,输出通常来说要比输入短,并且得到的输出 ...

  8. 一、富有表现力的JavaScript

    第一章:富有表现力的JavaScript 1.1  JavaScript的灵活性 1.2  弱类型语言 1.3  函数是一等对象 1.4  对象的易变性 1.5  继承 1.6  JavaScript ...

  9. [LeetCode]题解(python):139-Word Break

    题目来源: https://leetcode.com/problems/word-break/ 题意分析: 给定一个字符串s和一个字典dict,判断s是不是由字典dict里面的元素组成的. 题目思路: ...

  10. 通过web远程访问服务器的ipython

    如果想同过一个Web浏览器的方式远程访问服务器上的ipython notebook sever,可通过下面的步骤实现. 服务器:ubuntu14.04 server 客户端:windows/unix/ ...