ElasticSearch7.6.1环境安装

1:ElasticSearch介绍

Elasticsearch是用Java开发并且是当前最流行的开源的企业级搜索引擎。
官方网址
下载地址
ElasticSearch底层实现是Lucene框架

1.1 ES vs 关系型数据库
关系性数据库database(数据库)table(表)row(行)colum(列)
ESindex(索引库)type(类型)document(文档)field(字段)
1.2 全文检索和倒排索引

全文检索:

  • 通过一个程序扫描文本中的每一个单词,针对单词建立索引,并保存该单词在文本中的位置、以及出现的次数
  • 用户查询时,通过之前建立好的索引来查询,将索引中单词对应的文本位置、出现的次数返回给用户,因为有了具体文本的位置,所以就可以将具体内容读取出来了

倒排索引 :

  • 索引就类似于目录,平时我们使用的都是索引,都是通过主键定位到某条数据,也成为正排索引。倒排索引是通过 数据中的关键字 对应 关系。通过关键字查询文章。称为倒排索引。

2:ElasticSearch7.6.1单机安装

安装环境:4核4G内存的centos7虚拟机

ES不能使用root用户来启动,必须使用普通用户来安装启动

先创建组, 再创建用户:
1)创建 elasticsearch 用户组
[root@localhost ~]# groupadd elasticsearch
		
2)创建用户 tlbaiqi 并设置密码
[root@localhost ~]# useradd xxx
[root@localhost ~]# passwd xxx

3)# 创建es文件夹,
并修改owner为xxx用户
mkdir -p /usr/local/es
#chown 用户名   文件名  -R
chown tlbaiqi es -R

4)用户es 添加到 elasticsearch 用户组
[root@localhost ~]# usermod -G elasticsearch xxx
[root@localhost ~]# chown -R xxx/usr/local/es/elasticsearch-7.6.1

5)设置sudo权限
#为了让普通用户有更大的操作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的操作
[root@localhost ~]# visudo

#在root ALL=(ALL) ALL 一行下面
#添加xxx用户 如下:
tlbaiqi ALL=(ALL) ALL
			 
#添加成功保存后切换到xxx用户操作
[root@localhost ~]# su xxx

修改配置文件:elasticsearch.yml

 cd /usr/local/es/elasticsearch-7.6.1/config
vim elasticsearch.yml
cluster.name: my-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: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["服务器IP"]
cluster.initial_master_nodes: ["节点名"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true

修改jvm.option

cd /usr/local/es/elasticsearch-7.6.1/config
vim jvm.options
-Xms1g

启动:

后台启动ES 进入bin目录  ./elasticsearch  -d

启动成功之后jsp即可看到es的服务进程,并且访问页面

http://服务器ip:9200/?pretty

在这里插入图片描述
会遇到的问题:
1:普通用户打开文件的最大数限制
问题错误信息描述:
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错

sudo vi /etc/security/limits.conf
#添加如下内容: 注意*不要去掉了
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048

3:kibana7.6.1安装

#进入/usr/local/es/kibana-X.X.X-linux-x86_64/config目录
vim  kibana.yml
server.port: 5601
server.host: "服务器IP"
elasticsearch.hosts: ["http://IP:9200"] #这里是elasticsearch的访问地址 

启动:

#进入/usr/local/es/kibana-X.X.X-linux-x86_64/bin目录
./kibana

后台启动kibana

nohup  ./kibana &

访问Kibana

http://ip:5601/app/kibana

4:安装IK7.6.1分词器

下载:https://github.com/medcl/elasticsearch-analysis-ik/releases

su  xxx
mkdir -p /usr/local/es/elasticsearch-7.6.1/plugins/ik
#将下载的ik分词器上传并解压到该目录
#重启es

5:简单语法

GET _search
{
  "query": {
    "match_all": {}
  }
}
# 设置索引分词,最细粒分词器
PUT /es_db
{
  "settings": {
    "index":{
      "analysis.analyzer.default.type":"ik_max_word"
    }
  }
}
# 插入数据
PUT /es_db/_doc/2
{
  "name":"jcf111",
  "age":28,
  "sex":"男11",
  "address":"深圳平安金融大厦11"
}
#查询es_db索引下所有数据
GET /es_db/_search

GET /es_db/_doc/1
#根据字段查询
GET /es_db/_doc/_search?q=age:18
#范围查询
GET /es_db/_doc/_search?q=age[1 TO 25]

#批量查询
GET /es_db/_mget
{
  "ids":[1,2]
}

GET /es_db/_doc/_search?q=age:>18
#排序
GET /es_db/_doc/_search?sort=age:desc

GET /es_db/_doc/_search?q=age[1 TO 100]&from=0&size=2&sort=age:desc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值