Elasticsearch
1.Elasticsearch的概述
Elasticsearch(ES)是一个基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,ES能够横向扩展至数以百计的服务器存储以及处理PB级的数据。可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。
2.Elasticsearch安装
- 将解压的elasticsearch-6.4.3.tar.gz和kibana-6.4.3-linux-x86_64.tar.gz上传到linux的/usr/local下
-
cd usr/local tar -zxvf elasticsearch-6.4.3.tar.gz cd elasticsearch-6.4.3/config vim elasticsearch.yml //修改两条 network.host: 192.168.212.151 http.port: 9200 //新增一条 network.bind_host: 0.0.0.0 执行命令wq保存退出 vim /etc/sysctl.conf vm.max_map_count=655360 执行命令wq保存退出 sysctl -p vi /etc/security/limits.conf * soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096 执行命令wq保存退出
3.新建用户
groupadd esmayikt
useradd esyushengjun -g esmayikt -p 123456
chown -R esyushengjun:esmayikt /usr/local/elasticsearch-6.4.3
4.重启服务器
shutdown -r now
6.运行elasticsearch
su esyushengjun
cd /usr/local/elasticsearch-6.4.3/bin
./elasticsearch 或者 nohup ./elasticsearch & 来启动
7.访问你的服务器ip端口9200
成功
如果报错说内存不足请修改config目录下的jvm.options下的
扫描二维码关注公众号,回复:
13140307 查看本文章
重启elasticsearch
kibana
1.kibana介绍
Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。
2.kibana安装
cd /usr/local
tar -zxvf kibana-6.4.3-linux-x86_64.tar.gz
cd kibana-6.4.3-linux-x86_64/config/
vim kibana.yml
//修改以下三处
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://127.0.0.1:9200"
//保存退出
cd /usr/local/kibana-6.4.3-linux-x86_64/bin
//启动
./kibana
访问服务器的http://192.168.43.167:5601
3.kibana操作elasticsearch数据
对数据进行操作是在菜单Dev Tools中进行,第一次进入需要点击 进入工作
基本命令如下
####基本查询方法####
##新增一条文档
## /索引/类型/id
PUT /mymayikt/user/1
{
"name": "xiaojun",
"age": 21,
"sex": 0,
"car": "奥迪a6l"
}
##新增
PUT /mymayikt/user/2
{
"name": "xiaohong",
"age": 21,
"sex": 1,
"car": "保时捷911"
}
##新增
PUT /mymayikt/user/3
{
"name": "xiaoyun",
"age": 28,
"sex": 0,
"car": "奥迪A8L"
}
##新增
PUT /mymayikt/user/4
{
"name": "xiaoteng",
"age": 50,
"sex": 0,
"car": "奔驰S级"
}
##新增
PUT /mymayikt/user/5
{
"name": "小名",
"age": 48,
"sex": 0,
"car": "宝马五系"
}
##查询id为5的数据
GET /mymayikt/user/5
##POST方式新增,赋予随机不重复的ID
POST /mymayikt/user/
{
"name": "xiaojun",
"age": 21,
"sex": 0,
"car": "奥迪a6l"
}
##查询user类型全部数据
GET /mymayikt/user/_search
##查询id为1或2的数据
GET /mymayikt/user/_mget
{
"ids":[1,2]
}
##查询年龄21的数据
GET /mymayikt/user/_search?q=age:21
##查询年龄21为30到60并且倒序的前两条数据
GET /mymayikt/user/_search?q=age[30 TO 60]&sort=age:desc&from=0&size=2
###dsl查询#####
##term查询时精确匹配,按名称查找
GET /mymayikt/user/_search
{
"query": {
"term": {
"name":"xiaojun"
}
}
}
##模糊查询,match对该字段进行分词查询
##from和size是第0到2条,可选项
GET /mymayikt/user/_search
{
"from":0,
"size":2,
"query": {
"match": {
"car":"奥迪"
}
}
}
####过滤年龄大于21并且小于51
####第一条到第十条
####只展示name和age字段
GET /mymayikt/user/_search
{
"query":{
"bool":{
"must":[{
"match_all":{}
}],
"filter":{
"range":{
"age":{
"gt": 21,
"lte": 51
}
}
}
}
},
"from":0,
"size": 10,
"_source": ["name","age"]
}
### 怎么查询映射
GET /mymayikt/_mapping
####关系映射
DELETE /mymayikt
PUT /mymayikt
POST /mymayikt/_mapping/user
{
"user":{
"properties":{
"age":{
"type":"integer"
},
"sex":{
"type":"integer"
},
"name":{
"type":"text",
"analyzer":"ik_smart"
},
"car":{
"type":"text"
}
}
}
}
4.ik分词器安装
1.将下载好的elasticsearch-analysis-ik-6.4.3.rar解压后重命名为ik
2.将ik文件夹上传到服务器的 /usr/local/elasticsearch-6.4.3/plugins 中
3.创建文件
mkdir /usr/local/elasticsearch-6.4.3/plugins/ik/config/custom
4.新建字典
vi /usr/local/elasticsearch-6.4.3/plugins/ik/config/custom/new_word.dic
新增内容之后就可以wq保存了
5.修改ik配置,指向自定义的字典
vi /usr/local/elasticsearch-6.4.3/plugins/ik/config/IKAnalyzer.cfg.xml
保存退出
重启elasticsearch
访问http://182.61.146.9:9200/_analyze会发现王者荣耀也算一个词了
完成