Elasticsearch是用Java开发并且是当前最流行的开源的企业级搜索引擎。
能够达到实时搜索,稳定,可靠,快速,安装使用方便。
客户端支持Java、.NET(C#)、PHP、Python、Ruby等多种语言。
官方网站: https://www.elastic.co/
下载地址: https://www.elastic.co/cn/start
ES安装 ES需要使用非root用户启动,创建es用户先创建组, 再创建用户:
1)创建 elasticsearch 用户组
[root@localhost ~]# groupadd elasticsearch
2)创建用户 yhh 并设置密码
[root@localhost ~]# useradd yhh
[root@localhost ~]# passwd yhh
3)# 创建es文件夹,
并修改owner为yhh用户
mkdir -p /usr/local/es
4)用户es 添加到 elasticsearch 用户组
[root@localhost ~]# usermod -G elasticsearch yhh
#文件夹授权,后续安装包放置,解压使用
[root@localhost ~]# chown -R yhh /usr/local/es
5)设置权限
#为了让普通用户有更大的 *** 作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的 *** 作
#三台机器使用root用户执行visudo命令然后为es用户添加权限
[root@localhost ~]# visudo
#在root ALL=(ALL) ALL 一行下面
#添加tlbaiqi用户 如下:
yhh ALL=(ALL) ALL
#添加成功保存后切换到yhh用户 *** 作
[root@localhost ~]# su yhh
[yhh@localhost root]$
上传官网下载的压缩包
# 切换用户yhh
su yhh
cd /usr/local/es
tar -zvxf elasticsearch-7.6.1-linux-x86_64.tar.gz -C /usr/local/es/
修改配置文件
#修改文件 elasticsearch.yml
mkdir -p /usr/local/es/elasticsearch-7.6.1/log
mkdir -p /usr/local/es/elasticsearch-7.6.1/data
cd /usr/local/es/elasticsearch-7.6.1/config
#备份
cp elasticsearch.yml elasticsearch_bak.yml
vi elasticsearch.yml
cluster.name: yhh-es
node.name: node1
path.data: /usr/local/es/elasticsearch-7.6.1/data
path.logs: /usr/local/es/elasticsearch-7.6.1/log
network.host: 192.168.0.111
http.port: 9200
discovery.seed_hosts: ["192.168.0.111"]
cluster.initial_master_nodes: ["node1"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"
修改jvm.option,调整堆大小(ES需要大内存)
#修改jvm.option
cd /usr/local/es/elasticsearch-7.6.1/config
vi jvm.options
-Xms2g
-Xmx2g
修改系统配置,解决启动时候的问题
#打开文件最大数目限制
vi /etc/security/limits.conf
#添加
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
#普通用户启动线程数限制
#Centos7
vi /etc/security/limits.d/20-nproc.conf
* soft nproc 4096#将原1024修改为4096
#普通用户调大虚拟内存
vi /etc/sysctl.conf
#加上
vm.max_map_count=262144
#保存后执行
sysctl -p
启动ES服务
启动
[yhh@192 ~]$ cd /usr/local/es/elasticsearch-7.6.1/bin
[yhh@192 bin]$ ./elasticsearch &
#关闭es相关命令
jps
kill 进程号
访问:http://192.168.0.111:9200/?pretty
防火墙相关命令
查看防火墙已经开放的端口
firewall-cmd --list-ports
启动
systemctl start firewalld
查看状态
systemctl status firewalld
停止
systemctl disable firewalld
禁用
systemctl stop firewalld
安装Kibana客户端
下载地址:https://www.elastic.co/cn/downloads/past-releases#kibana
将kibana客户端放在/usr/local/es目录下[yhh@192 ~]$ cd /usr/local/es
[yhh@192 es]$ tar -zxvf kibana-7.6.1-linux-x86_64.tar.gz
修改客户端连接
cd /usr/local/es/kibana-7.6.1-linux-x86_64/config
vi kibana.yml
server.port: 5601
server.host: "192.168.0.111"
elasticsearch.hosts: ["http://192.168.0.111:9200"]
启动Kibana
cd /usr/local/es/kibana-7.6.1-linux-x86_64/bin
./kibana &
关闭kibana相关命令
[yhh@localhost root]$ netstat -tunlp|grep 5601
访问Kibana
http://192.168.0.111:5601/app/kibana
其他模块相关使用可参考:
https://blog.csdn.net/zyxwvuuvwxyz/article/details/108832473
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
#yhh用户,es下添加ik目录
mkdir -p /usr/local/es/elasticsearch-7.6.1/plugins/ik
cd /usr/local/es/elasticsearch-7.6.1/plugins/ik
#放入ik压缩包,解压
unzip elasticsearch-analysis-ik-7.6.1.zip
IK分词器默认使用standard分词设置(单子拆分),需要改为ik_max_word
PUT /xx_index
{
"settings": {
"index": {
"analysis.analyzer.default.type": "ik_max_word"
}
}
}
重启ES,Kibanan
#关闭es相关命令
jps
kill 进程号
#关闭kibana
netstat -tunlp|grep 5601
kill 进程号
ES基于JSON格式,Restful请求格式,简单命令 *** 作
GET _search
{
"query": {
"match_all": {}
}
}
#设置分词器
PUT /es_db
{
"settings": {
"index": {
"analysis.analyzer.default.type": "ik_max_word"
}
}
}
#创建索引
PUT /es_db
#查询索引
GET /es_db
#删除索引
DELETE /es_db
# 添加文档 PUT /索引名称/类型/id
PUT /es_db/_doc/1
{
"name":"yhh",
"sex":"男",
"age":25,
"address":"中国"
}
PUT /es_db/_doc/2
{
"name":"李四",
"sex":"李四男",
"age":35,
"address":"李四中国"
}
#修改文档
PUT /es_db/_doc/1
{
"name":"yhh",
"sex":"男",
"age":25,
"address":"中国",
"备注":"修改记录"
}
#查询文档 GET /索引名称/类型/id
GET /es_db/_search?q=age:25
#删除文档 DELETE /索引名称/类型/id
DELETE /es_db/_doc/2
#查询当前类型中的所有文档 _search
#格式: GET /索引名称/类型/_search
GET /es_db/_search
#条件查询,GET /索引名称/类型/_search?q=*:***
GET /es_db/_search?q=age:28
GET /es_db/_search?q=address:中国
#范围查询 GET /索引名称/类型/_search?q=***[25 TO 26]
GET /es_db/_doc/_search?q=age[25 TO 36]
#根据多个ID进行批量查询 _mget
#GET /索引名称/类型/_mget
GET /es_db/_doc/_mget
{"ids":["1","2"]}
#大于 小于
#GET /索引名称/类型/_search?q=age:<=**
GET /es_db/_doc/_search?q=age:<=28
#分页查询 from=*&size=*
#GET /索引名称/类型/_search?q=age[25 TO 26]&from=0&size=1
GET /es_db/_doc/_search?q=age[25 TO 26]&from=0&size=1
#对查询结果只输出某些字段 _source=字段,字段
#格式: GET /索引名称/类型/_search?_source=字段,字段
GET /es_db/_doc/_search?_source=name,age
#对查询结果排序 sort=字段:desc/asc
#格式: GET /索引名称/类型/_search?sort=字段 desc
GET /es_db/_doc/_search?sort=age:desc
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)