Elasticsearch 学习
2023-02-10 17:20:18 1 举报
AI智能生成
登录查看完整内容
Elasticsearch 学习总结
作者其他创作
大纲/内容
具有分布式的功能数据高可用,集群高可用API简单多语言支持支持PB级别的数据完成搜索的功能和分析功能基于Lucene,隐藏了Lucene的复杂性,提供简单的API
特点
1. elasticsearch 写入过程
2. elasticsearch Translog 事务日志
3. elasticsearch flash操作
4. elasticsearch 删除更新
5. elasticsearch segment 合并
原理
索引 index
类型 type
文档 document
字段Field
映射 mapping
集群 cluster
节点 node
分片 shards
复制 replicas
核心概念
docker笔记 提取码:uvx2
docker pull elasticsearch:5.6.8
4天Docker 实战-1024程序员节创造营公益课
这里使用docker镜像下载
docker run -di --name=es -p 9200:9200 -p 9300:9300 elasticsearch:5.6.8
安装es容器
9200端口为Web管理平台端口9300为服务默认端口浏览器输入地址访问: http://虚拟机IP地址:9200/
测试
#1.进入容器docker exec -it es /bin/bash#2.进入config目录cd config#3.vi命令无法识别,因为docker容器里面没有该命令,我们可以安装该编辑器。apt-get updateapt-get install vim#4.等待安装好了后,修改elasticsearch.yml配置vi elasticsearch.yml#添加下面一行代码:cluster.name: my-elasticsearch#5.重启dockerdocker restart es
开启远程连接(默认不开启)
nofile是单个进程允许打开的最大文件个数soft nofile 是软限制 hard nofile是硬限制
#6.修改limits.conf vi/etc/security/limits.conf#7.添加下面两行代码:* soft nofile 65536* hard nofile 65536修改vi /etc/sysctl.conf#8.修改sysctl.conf vi /etc/sysctl.conf#9.添加下面一行代码#限制一个进程可以拥有的VMA(虚拟内存区域)的数量 vm.max_map_count=655360#10.执行下面命令 修改内核参数马上生效sysctl -p#11.重启reboot
系统调优
#12修改配置文件:elasticsearch.yml增加三句命令http.cors.enabled: true #允许elasticsearch跨域访问,默认是falsehttp.cors.allow-origin: \"*\" #表示跨域访问允许的域名地址network.host: 192.168.220.100 #这里写自己的虚拟机地址#13.重启dockerdocker restart es#如果想让容器开启重启,可以执行下面命令docker update --restart=always 容器名称或者容器id
跨域配置
安装
下载head插件
下载nodejs
将grunt安装为全局命令
使用elasticsearch-head
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>
ElasticSearch的接口语法
#请求url:PUT 192.168.23.129:9200/aaa#请求体:{ \"mappings\": { \"article\": { \"properties\": { \"id\": { \"type\": \"long\
创建索引index
#请求url:POST http://192.168.23.129:9200/bbb/hello/_mappin#请求体:{ \"hello\": { \"properties\": { \"id\": { \"type\": \"long\
设置映射mapping
#请求url:POST 192.168.23.129:9200/bbb/hello/1#请求体:{ \"id\
创建文档document
修改文档document
#请求url:DELETE 192.168.23.129:9200/aaa
删除文档document
#新建一个documentPOST 192.168.23.129:9200/bbb/hello/1{ \"id\
查询文档-根据id查询
用querystring查询会进行分词,此时用的是Standard分词
#请求url:POST 192.168.23.129:9200/bbb/hello/_search{ \"query\": { \"query_string\": { \"default_field\": \"title\
查询文档-querystring查询
term查询不会进行分词
#请求url:POST 192.168.23.129:9200/bbb/hello/_search{ \"query\": { \"term\": { \"title\": \"前\" } }}
查询文档-term查询
使用Postman工具进行Restful接口访问
客户端操作
基于 java 语言开发的轻量级的中文分词工具包
ik_smart为最少切分
ik_max_word为最细粒度划分
概念
#解压unzip elasticsearch-analysis-ik-5.6.8.zip#改名为ikmv elasticsearch ik#将ik目录拷贝到docker容器的plugins目录下docker cp ./ik es:/usr/share/elasticsearch/plugins
PUT 192.168.23.129:9200/ccc{ \"mappings\": { \"article\": { \"properties\": { \"id\": { \"type\": \"long\
新建索引
使用
IK分词器
Kibana 是一款开源的数据分析和可视化平台使大数据通俗易懂
#镜像下载docker pull docker.io/kibana:5.6.8#安装kibana容器docker run -it -d -e ELASTICSEARCH_URL=http://192.168.23.129:9200 --name kibana-p 5601:5601 kibana:5.6.8
下载安装
DSL语句使用
Kibana使用
创建映射mapping
建立文档document
使用termQuery查询
使用QueryString
使用MatchQuery
使用Id查询
查询MathAll
高亮显示代码实现
查询文档操作
java操作Elasticsearch
Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。 Spring Data可以极大的简化JPA的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了CRUD外,还包括如分页、排序等一些常用的功能
Spring Data ElasticSearch
csdn
Elasticsearch
0 条评论
回复 删除
下一页