博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
solr安装笔记与定时器任务
阅读量:6989 次
发布时间:2019-06-27

本文共 3994 字,大约阅读时间需要 13 分钟。

一:solr启动

  目前solr最高版本为5.5.0版本,很多solr安装都是说将server文件copy到tomcat中,但是solr版本自带有jetty的启动方式

  首先下载solr-5.5.0版本,解压后文件目录:

  

打开readme.txt ,发现有之下的几句话:

告诉你使用命令行启动的方式,本机为windows系统,所以打开cmd(shift+邮件--->在此处打开命令端口),进入bin目录,输入命令solr start

这样就算是启动成功了,可以直接在浏览器中输入http://localhost:8983 查看solr管理后台

 

二:创建solr  core

 

    1.首先进入/server/solr 文件夹,创建一个文件夹,名称为你所建core的名称, 这里我的core取名为mark

    2.在mark目录下创建一个core.properties文件,里面写上:name=mark

    3.首先进入/server/solr/configsets/basic_configs,将conf目录copy到刚才的mark目录下

  4.将managed-schema文件修改为schema.xml 文件,这是solr比较核心的文件,用来定义索引

 

先看看这个schema.xml文件

第一行: ,将这个name改为我们自己的core名称:即mark

第113行定义了id,这个可以任意修改

167行定义了唯一主键,这个主键可以是任意的类型和字段,但必须是唯一非空的,当有重复的时候,solr将会替换掉之前所创建的索引。

这里是一个默认的对文本的处理,其中配置的分词器,过滤器等。

配置上这些其实就算成功创建了一个core,可以打开后台,可以看到新添加了要给core selector.

 

 三:配置solr 数据库导入

     solr有插件可以直接从数据库中导入数据,并创建索引。主要使用solr-dataimporthandler-5.5.0.jar

  首先在solrhome/dist 中找到 solr-dataimporthandler-5.5.0.jar,solr-dataimporthandler-extras-5.5.0.jar,solr-core-5.5.0.jar三个包,一并copy到solrhomt/server/lib中

  在网上下载一个mysql-connector-java.jar copy到solrhomt/server/lib中

  在我们自己的core  mark中,找到solrconfig.xml文件

  在这个文件的根节点下添加

   

data-config.xml

      这是给solr服务器添加一个severlet,用来接收dataimport请求。其中配置文件data-config.xml与solrconfig.xml放在同一个目录下

  创建一个文件data-config.xml

  配置:

  

        使用dataimport需要一个配置properties,存放一些变量,新建dataimport.properties 文件放在与data-config.xml文件同目录下

  配置好重启solr

  在后台,我们看到了一个新的菜单:

  

 command可以选择是全量更新,还是增量更新。

  

四:配置增量更新定时任务

  当有了数据导入后,并不能实现我们想要的功能,则需要一个定时任务的东西去定时导入增量数据:

  可以下载apache-solr-dataimportscheduler-1.0.jar 包,

  1.将apache-solr-dataimportscheduler-1.0.jar 放在solrhome/server/solr-webapp/WEB-INF/lib里

  注意,此包有一个问题,加载配置文件找不到

  原因在这个文件中,

这里给他一个指定的文件路径:

   2. 放好jar包之后,需要配置配置文件

  下载jar的时候,如果下的是with source版本,则里面自带一个dataimport.properties 配置文件,

  注意,此时在solrhome/server/solr 中(注意,这里不是jar包的存放位置webapp),创建一个conf文件夹,将dataimport.properties放在conf中

  

  如果没有的这里贴出来配置文件:

  

#################################################      #                                               #      #       dataimport scheduler properties         #      #                                               #      #################################################            #  to sync or not to sync      #  1 - active; anything else - inactive      syncEnabled=1          #  which cores to schedule      #  in a multi-core environment you can decide which cores you want syncronized      #  leave empty or comment it out if using single-core deployment      syncCores=mark          #  solr server name or IP address      #  [defaults to localhost if empty]      server=localhost          #  solr server port      #  [defaults to 80 if empty]      port=8983          #  application name/context      #  [defaults to current ServletContextListener's context (app) name]      webapp=solr          #  URL params [mandatory]      #  remainder of URL      #  增量更新的请求参数      params=/dataimport?command=delta-import&clean=false&commit=true          #  schedule interval      #  number of minutes between two runs      #  [defaults to 30 if empty]      #  这里配置的是2min一次      interval=2          #  重做索引的时间间隔,单位分钟,默认7200,即5天;       #  为空,为0,或者注释掉:表示永不重做索引      reBuildIndexInterval=0          #  重做索引的参数      reBuildIndexParams=/dataimport?command=full-import&clean=true&commit=true          #  重做索引时间间隔的计时开始时间,第一次真正执行的时间=reBuildIndexBeginTime+reBuildIndexInterval*60*1000;      #  两种格式:2012-04-11 03:10:00 或者  03:10:00,后一种会自动补全日期部分为服务启动时的日期      reBuildIndexBeginTime=03:10:00

     3.打开solrhome\server\solr-webapp\webapp\WEB-INF\web.xml

    添加一个listener:

    

org.apache.solr.handler.dataimport.scheduler.ApplicationListener

   4.重新启动solr,定时器任务则生效。

 

参考资料:

  http://www.cnblogs.com/atyou/archive/2013/04/21/3033675.html

  

  

 

转载于:https://www.cnblogs.com/lic309/p/5254205.html

你可能感兴趣的文章
SOCKET用法详解
查看>>
struts2中的OGNL详解
查看>>
C++的虚函数
查看>>
C++11的新特性:右值引用
查看>>
memcache和redis的区别
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
spring xml配置文件根元素(文件头文件)说明
查看>>
windows ssh RPi 2B
查看>>
Git常用命令
查看>>
异常,File,递归,IO流
查看>>
百度地图、ECharts整合HT for Web网络拓扑图应用
查看>>
Unity查找子物体的方式-怎么查找GameObject
查看>>
大数据学习系列之三 ----- HBase Java Api 图文详解
查看>>
cookie和session
查看>>
关于前端复用的构思
查看>>
微信小程序连接本地接口(转)
查看>>
小白的正则表达式学习之旅-02
查看>>
学习C语言必须知道的理论知识(第三章-数据类型的分类)
查看>>
hdu 素数环
查看>>
H3C CAS 介绍 & 基本概念
查看>>