全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选。
它的底层是开源库 Lucene,但是我们没法直接使用 Lucene。必须自己写代码去调用它的接口。
Elasticsearch 是 Lucene 的封装,提供了 REST API 的操作接口,非常方便。
一、安装 Java 8
Elasticsearch 需要 Java 8 的环境。
如果还没安装,请参考:
http://blog.csdn.net/justdoit_potato/article/details/77962670
二、安装 Elasticsearch
1. 下载压缩包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.1.zip
2. 解压
unzip elasticsearch-6.0.1.zip
3. 启动
./elasticsearch-6.0.1/bin/elasticsearch
启动时可能报错:不允许 root 用户运行
解决办法:
1. 创建新用户
adduser [user]
2. 给新用户赋予权限
chown -R [user] [elasticsearch安装目录]
3. 切换到新用户
su [user]
完成。
三、远程访问
默认情况下,elasticsearch 只允许本机访问,如果需远程访问。
1. 打开配置文件
vim elasticsearch-6.0.1/config/elasticsearch.yml
2. 将 network.host 配置去掉注释,值改为 0.0.0.0
network.host: 0.0.0.0
3. 改完后可能会无法启动,报错:
解决办法:
1. sysctl.conf 配置文件
vi /etc/sysctl.conf
增加或修改配置
fs.file-max=655350 vm.max_map_count=655360
保存后设置生效
// 使生效 sysctl -p
2. limits.conf 配置文件
vim /etc/security/limits.conf
增加配置
* soft nofile 655350 * hard nofile 655350
4. 重新登录 SSH,再次尝试启动 elasticsearch。
切换到非 root 用户,启动:
./elasticsearch-6.0.1/bin/elasticsearch
时间: 2024-11-10 17:28:53