可能原因
- solr 没有安装在系统上,或者安装的版本不兼容
- solr 的可执行文件没有添加到环境变量中,或者环境变量设置错误
- solr 的可执行文件没有赋予执行权限,或者权限不足
- solr 的运行依赖于 Java,但是 Java 没有安装或者配置正确
解决方法
方法1 安装软件
- CentOS 7/8: 使用 yum 命令安装 solr 和 Java,例如:
sudo yum install epel-release java-11-openjdk solr
# 或者
sudo dnf install epel-release java-11-openjdk solr
- Debian/Ubuntu/Deepin/Kali Linux/Raspbian: 使用 apt 或 apt-get 命令安装 solr 和 Java,例如:
sudo apt update
sudo apt install default-jdk
sudo apt install solr-tomcat
- Alpine Linux: 使用 apk 命令安装 solr 和 Java,例如:
sudo apk update
sudo apk add openjdk11
sudo apk add solr
- Arch Linux: 使用 pacman 命令安装 solr 和 Java,例如:
sudo pacman -Syu
sudo pacman -S jre-openjdk-headless
sudo pacman -S solr
- Fedora: 使用 dnf 命令安装 solr 和 Java,例如:
sudo dnf update
sudo dnf install java-11-openjdk
sudo dnf install solr
- Windows (WSL2): 首先在 Windows 上安装 WSL2,并选择一个 Linux 发行版,然后在 Linux 上按照相应的方法安装 solr 和 Java,例如:
wsl --install -d Ubuntu # 安装 WSL2 和 Ubuntu 发行版
wsl # 进入 WSL2 环境
sudo apt update # 在 Ubuntu 上更新软件源
sudo apt install default-jdk # 在 Ubuntu 上安装 Java
sudo apt install solr-tomcat # 在 Ubuntu 上安装 solr-tomcat 包
- Dockerfile: 在 Dockerfile 中使用 RUN 命令安装 solr 和 Java,根据基础镜像的不同,选择合适的包管理器,例如:
FROM ubuntu:latest # 以 Ubuntu 为基础镜像
RUN apt update # 更新软件源
RUN apt install default-jdk # 安装 Java
RUN apt install solr-tomcat # 安装 solr-tomcat 包
EXPOSE 8983 # 暴露 8983 端口
CMD ["solr", "start"] # 启动 solr 服务
- Docker: 使用 docker pull 命令拉取官方的 solr 镜像,或者使用 docker build 命令构建自定义的镜像,然后使用 docker run 命令运行容器,例如:
docker pull solr # 拉取官方的 solr 镜像
docker run -d -p 8983:8983 --name my_solr solr # 运行一个名为 my_solr 的容器,并映射 8983 端口
docker exec -it my_solr bash # 进入容器的交互式 shell
solr create_core -c test # 在容器内创建一个名为 test 的 core
exit # 退出容器的 shell
docker stop my_solr # 停止容器
docker rm my_solr # 删除容器
方法2 添加环境变量
- 如果已经安装了 solr,但是没有添加到环境变量中,可以使用以下命令查找 solr 的可执行文件的位置:
find / -name "solr" -type f -executable 2>/dev/null # 在根目录下搜索名为 solr 的可执行文件,并忽略错误信息
- 然后将找到的路径添加到环境变量中,可以使用以下命令临时添加:
export PATH=$PATH:/path/to/solr/bin # 将 solr 的 bin 目录添加到 PATH 变量中
- 或者使用以下命令永久添加,根据不同的 shell,选择合适的配置文件,例如:
echo "export PATH=$PATH:/path/to/solr/bin" >> ~/.bashrc # 将 solr 的 bin 目录添加到 bash 的配置文件中
source ~/.bashrc # 使配置文件生效
- 如果环境变量设置错误,可以检查是否有多余的空格或者分隔符,或者是否有冲突的路径,然后修改或删除相应的条目
方法3 修改执行权限
- 如果 solr 的可执行文件没有赋予执行权限,可以使用以下命令给予执行权限:
chmod +x /path/to/solr/bin/solr # 给 solr 的可执行文件添加执行权限
- 如果 solr 的可执行文件的权限不足,可以使用以下命令以 root 用户或者 sudo 权限运行 solr:
sudo /path/to/solr/bin/solr start # 以 sudo 权限启动 solr
方法4 更换版本或系统
- 如果 solr 的版本不兼容当前的系统或者 Java 版本,可以尝试更换 solr 的版本,或者更换系统或者 Java 的版本,以达到匹配的效果
- 可以参考 solr 的官方文档 11 查看 solr 的系统要求和兼容性信息,选择合适的版本进行安装和配置
solr 命令常规用法
solr 介绍
- solr 是一个开源的搜索平台,基于 Lucene 构建,提供了高性能、高可扩展、高可用、高灵活的搜索和索引功能
- solr 支持多种数据格式的输入,包括 XML、JSON、CSV 等,也支持多种查询语言和接口,包括 HTTP、Java、Ruby、Python 等
- solr 提供了丰富的功能和特性,包括全文检索、高亮、分面、聚类、排序、过滤、分词、同义词、拼写检查、自动补全等
- solr 还支持分布式搜索和索引,通过 SolrCloud 模式实现集群化部署,提供负载均衡和故障转移能力
语法格式
solr [ACTION] [OPTIONS]
- 其中 ACTION 是指定要执行的操作,例如 start, stop, restart, status, create, delete 等
- OPTIONS 是指定一些额外的选项或参数,例如 -p, -c, -d, -n, -s 等
选项说明
- solr 命令支持的选项或参数有很多,这里只列举一些常用的,完整的列表可以通过
solr -help
命令查看
- -p: 指定 solr 服务运行的端口号,默认是 8983
- -c: 启用 SolrCloud 模式,默认是单机模式
- -d: 指定 solr 服务运行的目录,默认是 server 目录
- -n: 指定创建集合时使用的配置名称,默认是 _default
- -s: 指定 solr 集合存储的目录,默认是 server/solr 目录
实例
solr start -p 8984
solr stop -p 8984
solr restart -p 8984
评论区