本章重点介绍CentOS7 下部署Solr7 ,添加核心Core配置,Dataimport导入,中文分词的相关操作。
一、准备工作
    演示环境是在虚拟机下安装的CentOS7、java JDK8、apache-tomcat-8.5.29。
    在CentOS7 下安装jdk8以及tomcat8.5 的安装方法可以搜索相关教程,这里不再赘述。
    注意:solr6.0以上,官方建议使用jdk8,tomcat8。
二、下载 solr-7.3.0
    官网 http://www.apache.org/dyn/closer.lua/lucene/solr/7.3.0 找合适的镜像下载solr ,并上传到虚拟机。
    也可以使用wget 直接下载 
#cd /usr/local
# wget http://mirrors.shu.edu.cn/apache/lucene/solr/7.3.0/solr-7.3.0.zip

  看到如上图所示
  等待几分钟,下载完成后在当前目录(/usr/local)下解压
#unzip solr-7.3.0.zip
#cd solr-7.3.0
    注:若提示unzip command not found ,请先安装zip、unzip命令,再解压。
#yum install -y unzip zip  
三、与tomcat结合部署Solr7
  1.进入solr7解压后的目录后,复制并重命名solr-7.3.0目录里的server/solr-webapp/webapp文件夹到tomcat的webapps目录为solr7。
    演示环境的tomcat 安装目录为/usr/local/java/apache-tomcat-8.5.29
# cd solr-7.3.0
# cp -r server/solr-webapp/webapp /usr/local/java/apache-tomcat-8.5.29/webapps/solr7

      
 2.将需要的jar包,复制到部署的solr7 的WEB-INF/lib/ 下
    将server/lib/ext/下的所有jar复制到 /usr/local/java/apache-tomcat-8.5.29/webapps/solr7/WEB-INF/lib/下
# cd server/lib/ext/
# ll
# cp * /usr/local/java/apache-tomcat-8.5.29/webapps/solr7/WEB-INF/lib/

   将server/lib/metrics* 开头的5个jar复制到 /usr/local/java/apache-tomcat-8.5.29/webapps/solr7/WEB-INF/lib/下
# cd ..
# ll
# cp metrics-* /usr/local/java/apache-tomcat-8.5.29/webapps/solr7/WEB-INF/lib/

3.复制log4j配置文件
  把server/resources/目录下的log4j.properties,复制到刚才部署的solr7的WEB-INF/,要创建一个classes的目录
# mkdir /usr/local/java/apache-tomcat-8.5.29/webapps/solr7/WEB-INF/classes
# cp ../resources/log4j.properties /usr/local/java/apache-tomcat-8.5.29/webapps/solr7/WEB-INF/classes

   

4.创建solr home
  复制并重命名solr-7.3.0/servier/solr为/usr/local/solr7home
# cd  ../../
# cp -r server/solr /usr/local/solr7home
# ls /usr/local/solr7home

5.将tomcat/webapps下的solr7与新建的solr7home关联
  a.需要修改tomcat里solr7/WEB-INF/web.xml文件
# vim  /usr/local/java/apache-tomcat-8.5.29/webapps/solr7/WEB-INF/web.xml

  b.找到solr/home的env-entry(如下图所示),打开注释,修改env-entry-value值为新建的solr7home
     
 c.然后到最下方,将这一段注释掉,不然会报403错误,完成后保存退出
     
6.启动tomcat
# /usr/local/java/apache-tomcat-8.5.29/bin/start.sh
  在电脑上访问下服务器的solr服务,演示环境的ip为192.168.1.220
  访问http://192.168.1.220:8080/solr7/index.html,出现如下页面表示solr服务搭建好了。
     
四、添加solr核心Core配置
    在管理页面,点击Core Admin,选择AddCore,添加核心
         
     name:自定义的名字,建议和instanceDir保持一致
     instanceDir: solrhome目录下的实例类目
     dataDir:默认填data即可
     config:指定配置文件,new_core/conf/solrconfig.xml
     schema:指定schema.xml文件,new_core/conf/schema文件(实际上是managed-schema文件)
    注意:红色框内的内容,instanceDir and dataDir need to exist before you can create the core
    要求在创建solr核心时,instanceDir实例目录在sold home 中存在
    如果instanceDir实例目录不存在,点击添加会有如下提示,但会在solr/home中多一个instanceDir实例目录。
    
a.将solr7home/configsets/sample_techproducts_configs/目录下的conf 拷贝到 mycore 目录下,目录结构:mycore/conf/
b.将contrib目录,dist目录拷贝到solrhome目录中
# cd /usr/local/solr7home/
# mv new_core micro
# ll
# cp -r configsets/sample_techproducts_configs/conf mycore/
# ll
# cp -r /usr/local/solr-7.3.0/contrib ./
# cp -r /usr/loacl/solr-7.3.0/dist ./
# ll
c.修改mycore/config/solrconfig.xml
  将文件中<lib dir="${solr.install.dir:../../../..}.." 替换为 <lib dir=“/usr/local/solr7home/…."
# vim mycore/config/solrconfig.xml

  替换后结果如下:
       
  d.刷新页面,点击Core Admin 添加Core,instanceDir就是刚才配置的目录mycore,出现下图所示表示solr核心创建成功
      
五、Dataimport(导入数据)
     点击Dataimport 时,出现 The solrconfig.xml file for this index does not have an operational DataImportHandler defined!
     解决如下:
  a.复制sorl7home/dist/solr-dataimporthandler*.jar和mysql的jdbc驱动mysql-connector-java-5.1.42.jar 到tomcat的webapps/solr7/WEB-INF/lib/下
# ll dist/
# cp -r dist/solr-dataimporthandler-* /usr/local/java/apache-tomcat-8.5.29/webapps/solr7/WEB-INF/lib/
# vim mycore/config/solrconfig.xml

 b.在mycore/config/solrconfig.xml添加DataImportHandler
     
 c.在mycore/conf/ 目录下创建data-config.xml(数据库配置和对应的字段)
     
   目录结构如下:
     
 d.重启tomcat,再次访问,如果出现下图内容则说明配置成功
      
  e.添加数据库中对应的Field(注意solr已经存在的field 不需要添加 ,具体可在managed-schema中查看已有的field),
     然后数据才能完整的导入。否则导入数据进行query 查询的时候只有id ,_version_两个字段。
       
 f. 数据导入
   Command:full_import:全量导入;delta_import:增量导入。
   Clean:在索引开始构建之前是否删除之前的索引,默认为true
   Commit:在索引完成之后是否提交。默认为true
   Execute:执行导入
   Refresh Status:刷新后才能看到数据发生了变化(点一次刷新一次)
   选择 全量导入,Execute执行,Refresh Status刷新查看状态,其他都选默认即可。
六、中文分词
   1.将solr 自带的中文分词jar复制到,tomcat的webapps/solr7/WEB-INF/lib/ 下managed-schema
# cd  /usr/local/solr7home/
# cp contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-7.3.0.jar /usr/local/java/apache-tomcat-8.5.29/webapps/solr7/WEB-INF/lib
# vim mycore/confg/managed-schema

  2.在mycore/confg/managed-schema 添加如下内容
    <!--text  Chinese -->
    <fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
      </analyzer>
    </fieldType>
     
   3.重启tomcat
      

Centos7下单机部署Solr7.3的更多相关文章

  1. CentOS7下单机部署RabbltMQ环境的操作记录

    一.RabbitMQ简单介绍在日常工作环境中,你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务 ...

  2. centos7 下zookeeper 部署 单机多实例模式

    centos7 下zookeeper 部署 本文参考https://www.linuxidc.com/Linux/2016-09/135052.htm 1.创建/usr/local/zookeeper ...

  3. Hadoop生态圈-CentOs7.5单机部署ClickHouse

    Hadoop生态圈-CentOs7.5单机部署ClickHouse 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到了新的公司,认识了新的同事,生产环境也得你去适应新的集群环境,我 ...

  4. centos7 下 安装部署nginx

    centos7 下 安装部署nginx 1.nginx安装依赖于三个包,注意安装顺序 a.SSL功能需要openssl库,直接通过yum安装: #yum install openssl b.gzip模 ...

  5. 记录centos7下tomcat部署war包过程

    记录centos7下tomcat部署war包过程 1.官网下载tomcat安装包.gz结尾的 2.上传到/usr/local/ ,并解压到tomcat目录下 3.进入tomcat/bin目录,运行./ ...

  6. CentOS 7下单机部署RabbltMQ环境的操作记录

    一. RabbitMQ简单介绍 在日常工作环境中,你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息 ...

  7. CentOS7下OpenLDAP部署

    OpenLDAP作为开源的LDAP服务,可用于搭建统一认证平台,在很多企业内部应用比较广泛,本文将介绍在CentOS7下OpenLDAP的部署. 环境: CentOS 7.4 OpenLDAP 2.4 ...

  8. Nextcloud私有云盘在Centos7下的部署笔记

    搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典.而Nextcloud是ownCloud原开发团队打造的号称是“下一代”存储.初一看觉得“口气”不小,刚推出来就重新“定义”了Clo ...

  9. centos7下docker 部署javaweb

    LXC linux container 百度百科:http://baike.baidu.com/link?url=w_Xy56MN9infb0hfYObib4PlXm-PW02hzTlCLLb1W2d ...

随机推荐

  1. 微信小程序代码片段

    微信小程序代码片段是一种可分享的小项目,可用于分享小程序和小游戏的开发经验.展示组件和 API 的使用.复现开发问题等等.分享代码片段会得到一个链接,所有拥有此分享链接的人可以在工具中导入此代码片段. ...

  2. C++ 和 Java 对类继承的差异

    #include <iostream> using namespace std; class Base { public: int i; Base() { i = ; fun(); } v ...

  3. Vue拖拽组件

    vue开发公众号项目,***产品需要添加一个新的功能.拖拽功能.一听简单.百度上轮子挺多,直接拉一个过来用着就行.然鹅...兴奋之余,却失望至极.东西很多,没有一个能使得.你让我失望,那我就让你绝望. ...

  4. 与众不同 制作会唱歌的WinRAR - imsoft.cnblogs

    为了使用方便,我们可能会把RAR压缩包制作成自解压文件.WinRAR自带的自解压模块虽然使用很方便,但千篇一律的外观看起来实在 乏味.其实,只要通过简单改造,你就可以制作出与众不同,声色俱佳的WinR ...

  5. JQuery输入框获取/失去焦点行为

    //搜索框获取焦点清除内容 $(function() { $("input").focus(function() { //获取焦点,清空默认内容 $(this).css('colo ...

  6. 【HAOI2016】食物链

    HA真是弱…… 原题: 1.食物链[问题描述]如图所示为某生态系统的食物网示意图,据图回答第1小题. 1.数一数,在这个食物网中有几条食物链( )现在给你n个物种和m条能量流动关系,求其中的食物链条数 ...

  7. Linux内核配置

    1.autoconf.h文件 老版本的Linux内核中,执行make menuconfig后,编译系统会把所有的配置信息保存到源码顶层目录下的.config文件中,然后将.config中的内容转换为C ...

  8. 转 oracle 学习- 用户权限角色

    创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...

  9. net web service 参数类型

    因为Web Services的执行是建立在XML架构之上的,所以它能够支持丰富的数据类型. 下表列出了使用SOAP协议时Web Services支持的数据类型:  类 型 含 义 基础类型 也即标准基 ...

  10. 应用解决告诉你什么时候该用ajax

    第一.请求的提交是为了页面数据的显示,这时候用户一般不希望看到页面的刷新,是使用AJAX的一个最佳时候. 第二.如果请求提交后,用户能从页面感觉到提交结果,这时候,也最好不要有页面刷新,推荐使用AJA ...