0. 引言

虽然现在主流的搜索引擎组件已经es主导,但不乏有部分“老”项目依旧在采用solr,当遇到这类项目时,如何快速上手solr组件,以及后续如何拓展深入研究solr的途径成为问题,本期我们的目的就是带大家来快速上手solr,掌握solr的基础使用

1. solr简介

solr是基于Apache Lucene构建的用于搜索和分析的开源组件,这一点与es一样,作为搜索引擎自然支持分词查询、海量数据查询、高亮显示等

solr是基于java开发的,内嵌了jetty容器,安装简单,同时自带了一个管理端,这一点比es相比不用再额外再安装一个kibana。

solr源码地址:https://github.com/apache/solr

solr官网文档:https://solr.apache.org/guide/solr/latest/index.html

2. solr安装

2.1 单节点安装

1、 因为solr是基于java开发的,所以需要首先在服务器上安装jdk环境,这里我安装的jdk1.8

2、 下载solr安装包,下载地址:https://solr.apache.org/downloads.html

如果下载最新版可以直接在该页面点击下载

 

如果下载历史版本,可在Lucene archives for pre-9.0 releases点击下载

 

这里我选择8.2.0版本下载

 

3、 下载好的安装包上传到linux服务器,或者直接在linux上通过wget指令下载;

4、 解压安装包;

## 这里我上传到了/data目录
tar -xvzf /data/solr-8.2.0.tgz

5、 修改solr启动参数,取消健康检查,否则启动会报警告;

cd /data/solr-8.2.0/bin
vim solr.in.sh

修改内容

SOLR_ULIMIT_CHECKS=false

6、 启动solr;

solr不推荐使用root账户启动,这点与es也相同,当然可以直接用-force参数,强制启动

./solr start -force

如果需要修改端口,可以通过-p参数指定

./solr start -p 8089 -force

启动成功可以看到日志打印
 

7、 因为solr默认端口为8983,于是我们还需要开启端口,如果没有防火墙已经关闭则不用再开启;

## 开启端口
firewall-cmd --add-port=8983/tcp --permanent
## 重新加载
firewall-cmd --reload
## 查看端口是否开放
firewall-cmd --query-port=8983/tcp

8、 访问服务器ip:8983,可查看到solr管理界面;

 

9、 至此,单机版solr就安装完成了!;

2.2 设置solr开机自启

安装完成后我们还需要将solr设置开机自启,不然方服务器重启后,我们还要手动启动solr,比较麻烦

1、 编写启动脚本;

cd /etc/init.d
vim solr

脚本内容:

##!bin/bash
##chkconfig:2345 55 25
##processname:solr
##description:solr server
prog=/data/solr-8.2.0/bin/solr      
start(){
   
                                     
        $prog start -force
        echo "solr启动"
}
stop(){
   
                                     
        $prog stop -all
        echo "solr关闭"
}
restart(){
   
                   
        stop
        start
}
case "$1" in        
"start")
        start      
        ;;
"stop")            
        stop
        ;;
"restart")            
        restart
        ;;
*)      
        echo "支持指令:$0 start|stop|restart"
        ;;
esac

其中:

chkconfig:2345 55 25 用于设置开机自启时的运行级别、启动优先级、关闭优先级
processname:solr 设置启动的进程名
description:solr server 服务描述

2、 给脚本赋权;

chmod +x /etc/init.d/solr

3、 执行脚本,进行验证;

service solr stop
service solr start

这里执行可能会出现错误“找不到java”

 

这需要配置solr的java路径

vim /data/solr-8.2.0/bin/solr.in.sh 

修改内容:将SOLR_JAVA_HOME设置为jdk安装路径

SOLR_JAVA_HOME="/var/local/zulu8.58.0.13-ca-jdk8.0.312-linux_aarch64"

设置成功后执行,可以看到日志打印

 

4、 设置开机自启;

## 添加开机自启
chkconfig --add solr
## 开启solr启动
chkconfig solr on

5、 重启服务器,访问solr管理界面,发现能直接访问,说明开机自启成功;