一: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文件

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

 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">   <lst name="defaults">   <str name="config">data-config.xml</str>   </lst>   </requestHandler>

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

  创建一个文件data-config.xml

  配置:

  

<dataConfig>   <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/morequ" user="root" password="root"/><document><entity name="mark" query="select id,value,type,datam_id,create_time  from mark where enable =0 " deltaImportQuery="SELECT id,value,type,datam_id,create_time from mark where enable =0  and id='${dih.delta.id}'  " deltaQuery="SELECT  id  from mark where enable =0 and create_time > '${dih.last_index_time}'" ><field column="id" name="id" /><field column="value" name="value" /><field column="type" name="type" /><field column="datam_id" name="datam_id" /><field column="create_time" name="create_time"/></entity></document>
</dataConfig>

使用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:

    

   <listener>  <listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class>  </listener> 

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

参考资料:

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

  

  

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

solr安装笔记与定时器任务相关推荐

  1. solr安装-tomcat+solrCloud构建稳健solr集群

    solrCloud的搭建可以有两种方式:使用solr内嵌的jetty来搭建:使用外部web容器tomcat来搭建.对于使用jett来搭建参考solr官方的手册照着做肯定ok,下面我主要讲的是如何使用t ...

  2. laravel安装笔记 (转)

    一.安装composer 安装之前将\php\php.ini文件中的php_openssl.dll扩展库开启,否则composer在安装过程中会出现错误提示. (我在安装过程中发现apache目录下的 ...

  3. 前端开发学习笔记 - 1. Node.JS安装笔记

    Node.JS安装笔记 Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an ...

  4. Oracle安装笔记

    Oracle安装笔记 出现错误后不要慌,最主要的是看log文件的提示,其中比较简单的文件是install目录下的make.log 错误一: client_shared For example: /us ...

  5. convirt2.5在虚拟机上安装笔记

    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...

  6. SVN的安装笔记和要注意的问题

    SVN的安装笔记和要注意的问题 之前装的SVN 1.3.2,按网上说的教程,一配置就可以用了,但这次换了1.4.2的最新版本, 只是设置了server.conf和passwd后,依然在导入项目时,说验 ...

  7. pycharm不同py文件共享参数_PyCharm安装笔记

    1. 介绍 1.1 介绍 今天福哥带着大家学习如何安装非常好用的Python编辑器,也就是jetbrains全家桶的PyCharm编辑器. PyCharm是jetbrans开发的一款专门用来编写Pyt ...

  8. ubuntu18.04 Qt Creator 安装+ROS Qt Creator Plug-in 插件安装笔记

    ubuntu18.04 Qt Creator 安装+ROS Qt Creator Plug-in 插件安装笔记: 一.Qt Creator 5.10安装 官网下载地址: http://download ...

  9. Windows10+Ubuntu 18.04.2+ROS 安装笔记(SSD单硬盘)下

    Windows10+Ubuntu 18.04.2+ROS 安装笔记(SSD单硬盘)下 一.前言 二.化繁为简 二.补充说明 三.测试ROS 是否安装成功 一.前言 最近需要学习ROS和python,于 ...

最新文章

  1. openfoam linux教程,科学网—Windows10 安装OpenFOAM 教程 - 陈浩的博文
  2. [备忘]macOS和Windows下很赞的软件
  3. Chrome 开发者工具 版本 65 新引入的 Overrides
  4. 求ax bx c 0的根c语言,关于求方程ax2+bx+c=0根的问题
  5. Web黑客工具箱之LiveHttpHeaders
  6. 实现点击页面其他地方,隐藏div(vue)
  7. 重庆大学李婷婷计算机学院,北京大学青年研究中心赴我校考察调研
  8. 特斯拉和SolarCity推出太阳能屋顶瓦片
  9. php 美化注册界面,美化,从登录界面背景开始
  10. 分位数回归--基于R
  11. 计算机软考中级能评职称吗,软考中级是中级职称么?考此证后可以办理落户么?...
  12. matlab怎么产生一个随机数,matlab怎么产生随机数
  13. 刷脸支付在流量金贵时代把控千万用户
  14. linux shell bash -c $IFS ${IFS}
  15. Python面向对象编程——类的学习
  16. [Web安全]信息收集
  17. Android 2.3的StrictMode使用
  18. 【方法】Latex多行公式及编号
  19. vscode的调试配置
  20. 深度学习服务器配置过程

热门文章

  1. DCMTK:转换DICOM彩色图像调色板的颜色
  2. VTK:网格之SubdivisionDemo
  3. VTK:图片之Interpolation
  4. OpenCV iOS-视频处理
  5. Qt Creator使用Bazaar集市
  6. C++SEG TREE线段树的实现算法(附完整源码)
  7. QT的QMultiSampleAntiAliasing类的使用
  8. C语言和C++语言关系
  9. android4 设置栈大小,【技术分享】Android内核漏洞利用技术实战:环境搭建栈溢出实战...
  10. 基于注解的Spring MVC整合Hibernate(所需jar包,spring和Hibernate整合配置,springMVC配置,重定向,批量删除)