环境:centos7、JDK1.8、solr 自带Jetty启动

一、安装JDK1.8环境

1、下载JDK

jdk-8u172-linux-x64.rpm

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2、安装JDK

rpm -ivh jdk-8u131-linux-x64.rpm

3、配置JDK环境变量

vim /etc/profile

在最后面加上下面这段

JAVA_HOME=/usr/java/jdk1.8.0_172-amd64

CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH CLASSPATH JAVA_HOME

4、检查是否完成安装

java -version

javac

二、安装Solr

1、下载solr

solr-7.4.0.tgz

下载地址:http://mirrors.hust.edu.cn/apache/lucene/solr/7.4.0/solr-7.4.0.tgz

2、创建目录

[root@localhost /]# mkdir /chowdate

把solr-7.4.0.tgz复制到目录 /chowdate,接着解压。

[root@localhost /]#  tar -zxvf  solr-7.4.0.tgz

3、启动Solr

localhost bin]# /chowdate/solr-7.4.0/bin/solr start -forc

4、打开页面

http://localhost:8983/solr/#/

5、启动到打开页面过程可能会出现的问题

如果执行./solr start -force 命令的时候会警告你系统文件打开数的问题,可以这样解决。修改完后要重启系统。

1. 修改 /etc/sysctl.conf 文件,在最后一行添加

fs.file-max = 6553560

2. 修改 /etc/security/limits.conf 文件,在最后一行添加

  1.  
    * soft nproc 65535                 //注意,前面的星号也需要
  2.  
    * hard nproc 65535
  3.  
    * soft nofile 65535
  4.  
    * hard nofile 65535

如果出现solr安装成功,但是外界访问不到的问题,请检查防火墙是否关闭,或者8983端口是否允许开放!

关闭防火墙的命令:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

开启端口的命令:

firewall-cmd --zone=public --add-port=8983/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

三、添加自己的solr core

1、创建core目录

在/chowdate/solr-7.4.0/server/solr目录下创建new_core目录(名字自己定)

2、复制配置文件

复制/chowdate/solr-7.4.0/server/solr/configsets/_default下的conf文件夹到/chowdate/solr-7.4.0/server/solr/new_core/下。

3、添加core

在页面添加new_core(必须先做上面1、2步,不然会提示报错)。

添加成功后/chowdate/solr-7.4.0/server/solr/new_core/下会多两个东西。

core.properties文件、data目录

四、导入数据库中的数据到Solr中

1、创建data-config.xml文件

在/chowdate/solr-7.4.0/server/solr/new_core/conf目录下创建一个文件data-config.xml,与solrconfig.xml同级

2、修改solrconfig.xml文件

修改/chowdate/solr-7.4.0/server/solr/new_core/conf/solrconfig.xml文件

在<requestHandler name="/select" class="solr.SearchHandler">上放增加以下这段代码。

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

其中<str name="config"></str>里的内容就是我们在上一步创建的data-config.xml文件,将它们关联起来。

3、修改data-config.xml文件

接下来我们打开data-config.xml文件,配置相关的数据库属性,即我们要导入那张表的哪些字段,内容如下:

  1.  
    <?xml version="1.0" encoding="UTF-8"?>
  2.  
    <dataConfig>
  3.  
        <dataSource name="source1" type="JdbcDataSource"
  4.  
                  driver="com.mysql.jdbc.Driver"
  5.  
                  url="jdbc:mysql://10.10.9.103:3306/auth-cas"
  6.  
                  user="root"
  7.  
                  password="****"
  8.  
                  batchSize="-1" />
  9.  
        <document>
  10.  
            <entity name="user" dataSource="source1"
  11.  
                query="SELECT uid,user_code,account,password,user_name,gender,last_login_time,update_time FROM uap_tb_gmvcs_user">
  12.  
     
  13.  
                <field column='uid' name='uid' />
  14.  
                <field column='user_code' name='user_code' />
  15.  
                <field column='account' name='account' />
  16.  
                <field column='password' name='password' />
  17.  
                <field column='user_name' name='user_name' />
  18.  
                <field column='gender' name='gender' />
  19.  
                <field column='last_login_time' name='last_login_time' />
  20.  
                <field column='update_time' name='update_time' />
  21.  
            </entity>
  22.  
        </document>
  23.  
    </dataConfig>

dataSource 中,url是你要访问的数据库路径,我这里指定到我的auth-cas 数据库。user是用户名,password是你的数据库密码。

query是一个sql语句,你需要导入哪张表的哪些字段,查就行了。然后<field>标签中的column属性是你SQL语句中查询的字段,跟数据库中对应;name属性是你给它起的一个别名,应该是必须指定的(本人没试过不指定的结果),至于name属性是干嘛的,继续往下操作,自然会明白。有多个查询字段就需要有多个<field>标签,每一个<field>标签对应一个字段。

document配置数据库查询语句与managed_schema域的对应关系。目的是,在core导入数据的时候,会先通过该配置信息链接到数据库通过查询语句把数据查询出来,通过数据库字段与managed_schema域关联关系创建索引

4、修改managed-schema文件

修改/chowdate/solr-7.4.0/server/solr/new_core/conf/managed-schema文件,将刚才在data-config.xml中配置的<field>标签添加进来。

  1.  
    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
  2.  
    <!-- docValues are enabled by default for long type so we don't need to index the version field -->
  3.  
    <field name="_version_" type="plong" indexed="false" stored="false"/>
  4.  
    <field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
  5.  
    <field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/>
  6.  
    <!-- 上面是原有的的字段 -->
  7.  
     
  8.  
    <!-- 自己的导入的字段 -->
  9.  
    <field name="uid" type="string" indexed="true" stored="true" />
  10.  
    <field name="user_code" type="string" indexed="true" stored="true" />
  11.  
    <field name="account" type="string" indexed="true" stored="true" />
  12.  
    <field name="password" type="string" indexed="true" stored="true" />
  13.  
    <field name="user_name" type="string" indexed="true" stored="true" />
  14.  
    <field name="gender" type="string" indexed="true" stored="true" />
  15.  
    <field name="last_login_time" type="pdate" indexed="true" stored="true" />
  16.  
    <field name="update_time" type="pdate" indexed="true" stored="true" />

这里<field>里的name属性值,就是我们刚才在data-config.xml中<field>标签的name属性值,这是name属性的第一个用途,关联起来。

name:是这个域的名称,在整个managed_schema文件里面需要唯一,不能重复,这里定义成跟数据库表字段的名称,方便使用。当然,也可以定义成其他名字。

type:是表示这个字段的类型是什么,string是字符串类型,int是整形数据类型,date是时间类型,相当于数据库里面的timestamp。

indexed:表示是否索引,索引的话就能查询到,否则,搜索的时候,不会出现。

stored:表示是否存储到索引库里面。

required:是否必须

multiValued:是否多值,比如商品信息中,一个商品有多张图片,一个Field想存储多个值的话,必须将multiValued设置为true

5、下载连接数据库和导入数据的jar包

现在涉及到数据库了,肯定需要依赖一些jar包,下载三个jar包 下载地址:http://mvnrepository.com/

mysql-connector-java-8.0.11.jar

solr-dataimporthandler-7.4.0.jar

solr-dataimporthandler-extras-7.4.0.jar

三个jar包 放到/chowdate/solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib 目录下

然后打开/chowdate/solr-7.4.0/server/solr/new_core/conf/solrconfig.xml,引用上面提到的jar包,如下。

  1.  
    <!-- mysql导入增加的包开始--> 
  2.  
    <lib dir="${solr.install.dir:../../../..}/dist/" regex="mysql-connector-java-.*\.jar" /> 
  3.  
    <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" /> 
  4.  
    <!-- mysql导入增加的包结束-->

关闭然后重启  ./bin/solr stop -all       ./bin/solr  start  -force

6、导入数据

再次访问我们刚才的页面,在左侧找到我们部署好的new_core工程,点击Dataimport,再选择full-import(全部导入),点击Execute,出现下面的页面,证明这张表的数据已经导入进来了。

6、查找数据

solr7.4 centos7安装的更多相关文章

  1. HP服务器 hp 360g5 centos7安装问题

    HP服务器  hp 360g5 centos7安装问题 一 :启动盘无法识别硬盘 1.进入安装光盘,用上下键选择安装centos--Install Centos7(注意不可按Enter键),如图: 2 ...

  2. CentOS7 安装Mono及Jexus

    CentOS7安装Mono及Juxes 1 安装Mono 1.1 安装yum-utils 因为安装要用到yum-config-manager,默认是没有安装的,所以要先安装yum-utils包.命令如 ...

  3. CentOS7安装mysql提示“No package mysql-server available.”

    针对centos7安装mysql,提示"No package mysql-server available."错误,解决方法如下: Centos 7 comes with Mari ...

  4. CentOS7安装Oracle 11gR2 安装

    概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...

  5. Centos7安装完毕后重启提示Initial setup of CentOS Linux 7 (core)的解决方法

    问题: CentOS7安装完毕,重新开机启动后显示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License i ...

  6. centos7安装eclipse

    centos7安装eclipse Eclipse是一个集成开发环境(IDE),包含一个基工作区和定制环境的可扩展插件系统.大部分使用 Java 编写,Eclipse 可以用来开发应用程序.通过各种插件 ...

  7. CentOS7安装mongoDB数据库

    CentOS7安装mongoDB数据库 时间:2015-03-03 16:45来源:blog.csdn.net 作者:进击的木偶 举报 点击:8795次 mongoDB是目前发展比较好的NOSQL数据 ...

  8. CentOS7安装Ambari

    环境: CentOS7安装两个节点:master.slave1.并配置ssh无密码登录. 步骤: 获取 Ambari 的公共库文件(public repository): wget http://pu ...

  9. [CentOs7]安装mysql(2)

    摘要 之前安装过一次mysql,最后配置,发现在本地无法连接,重启服务的时候一直卡在那里不动,感觉是安装的过程出问题,最后没办法还是卸载了,然后重新安装一下. [CentOs7]安装mysql Mys ...

随机推荐

  1. dart 命名规范

    1.类型 首字母大写 譬如 abstract class Shape 2.变量 驼峰式命名,首字母小写 class Article { String headUrl; String user; Str ...

  2. 使用NPM在项目中引入【lodash】

    mkdir [文件名 ] 创建项目文件 mkdir lodashDemo cd [文件名] 进入项目文件 cd lodashDemo nvm -v 查看nvm版本,确定nvm已安装 nvm -v No ...

  3. js 操作数组的一些方法

    1.从数组中获取最大的数 function getMaxfromarr(arr) { var lasti = 0; for (var i = 0; i < arr.length; i++) { ...

  4. win7下IIS的安装和配置图文教程

    1. 首先是安装IIS.打开控制面板,找到”程序与功能”,点进去 2. 点击左侧”打开或关闭Windows功能” 3. 找到”Internet 信息服务”,按照下图打勾即可 等待安装完成 4. 安装完 ...

  5. Spark之 RDD

    简介 RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算的集合. Resilien ...

  6. 【POJ2151】Check the difficulty of problems

    题意 某场比赛有M道问题,T支队伍,和数字N给出每支队伍解决每道问题的概率. 问这场比赛满足下面两个条件的概率 1.每支队伍至少做出一道题 2.冠军队至少做出N道题. 分析 条件2是不是可以转化为 至 ...

  7. 使用lucene query的CharFilter 去掉字符中的script脚本和html标签

    1.准备数据,这里我从数据库读取一个带有html标签和script脚本的数据

  8. javascript运算符优先级顺序

    1 ()2 !.-(负号).++.-- 3 *./.%4 +.- 10-55 <.<=.<.>=6 ==.!=.===.!==.7 &&8 ||9 ?:10 = ...

  9. C++细节理解

    1.为什么static类外初始化不需要static关键字 答:因为类外static变量或函数表示限定在此源文件中才能使用,而类中的static变量或函数表示由本类及其所有对象共享,如果在类外初始化或定 ...

  10. Python设计模式之"外观模式"实例讲解

    Python中设计模式之外观模式主张以分多模块进行代码管理而减少耦合,下面用实例来进行说明. 应用特性: 在很多复杂而小功能需要调用需求时,而且这些调用往往还有一定相关性,即一调用就是一系列的. 结构 ...