elasticSearch

elasticSearch

1.下载elasticSearch,双击elasticSearch.bat启动,访问localhost:9200得到如下信息:
{
“name” : “DESKTOP-NISBGPH”,
“cluster_name” : “elasticsearch”,
“cluster_uuid” : “XnQoQ8EVScu0FdTqc0fstw”,
“version” : {
“number” : “7.6.1”,
“build_flavor” : “default”,
“build_type” : “zip”,
“build_hash” : “aa751e09be0a5072e8570670309b1f12348f023b”,
“build_date” : “2020-02-29T00:15:25.529771Z”,
“build_snapshot” : false,
“lucene_version” : “8.4.0”,
“minimum_wire_compatibility_version” : “6.8.0”,
“minimum_index_compatibility_version” : “6.0.0-beta1”
},
“tagline” : “You Know, for Search”
}

2.安装es head可视化插件
下载文件
启动:npm install下载依赖 ,npm run start启动
连接测试发现,存在跨域问题,配置es:
http.cors.enabled: true
http.cors.allow-origin: “*”
重启es服务,然后再次连接,访问localhost:9100看到一个可视化界面
在这里插入图片描述
这个head我们把它当做一个数据展示工具,后面的查询,kibana

了解ELK
elk是elasticSearch,logstash,kibana三大开源框架首字母大写的简称,市面上也成为Elastic Stack,其中elasticSearch基于lucene、分布式、通过restful方式进行交互的近实时搜索平台框架,像类似于百度谷歌这种大数据全文搜索引擎的场景都可以使用es作为底层支持框架,logstash是ELK的中央数据流引擎,用于从不同目标(文件/数据存储/MQ)收集不同格式的数据,经过过滤后支持输出到不同的目的地(redis/MQ/文件/es/kafka),Kibana可以将es的数据通过友好的页面展示出来,提供实时分析的功能。
市面上很多开发只要提到ELK能够一致说出它是一个日志分析架构技术栈的总称,但实际上ELK不仅仅适用于日志分析,它还可以支持其他任何数据分析和收集的场景,日志分析和收集 更具有代表性,并非唯一性。
在这里插入图片描述
下载kibana文件,解压后修改kibana.yml配置文件的语言为中文ZH-CN,然后启动批处理命令,访问localhost:5601

物理设计:
es在后台把每个索引分成多个分片,每分分片可以在集群中的不同服务器间迁移,一个人就是一个集群,默认的集群名字就elasticsearch
逻辑设计:
一个索引类型中,包括多个文档,比如说文档一,文档二,当我们索引一篇文档时,可以通过这样一个顺序找到:索引->类型->文档ID,通过这个组合我们就能索引到某个具体的文档,注意:ID是一个字符串

倒排索引:
在这里插入图片描述
elasticsearch和lucene索引的区别:
在elasticsearch中,索引(库)这个词被使用的广泛,在es中,索引被分成很多分片,每个分片就是一个lucene的索引,所以一个es索引是由多个lucene索引组成的。

es核心概念:
1.索引
2.字段类型(mapping)
3.文档(documents)

IK分词器:
提供了ik_smart最少切分和ik_max_word最细粒度切分两种分词算法
下载重启
在这里插入图片描述
配置自定义分词:
在这里插入图片描述
然后重启es,重启kibana
在这里插入图片描述
基础测试:
自动添加索引:PUT /索引名/类型名/文档id
{请求体(json格式)}
在这里插入图片描述
创建索引及规则,可以通过GET请求获得创建的信息GET test2
在这里插入图片描述
如果文档的字段没有指定,那么es就会给我们默认配置字段类型

基本rest命令:
在这里插入图片描述

关于文档的操作:
修改数据:
PUT命令修改,如果不传递值就会被覆盖,推荐使用POST的修改,灵活性更高:
POST 索引名/类型名/文档id/_update
{
“doc”:{
“键”:“值“
}
}

查询数据:
GET 索引名/类型名/_search
{
“query”:{
“bool”: { //多条件匹配
“must”: [ //must且,should或;还有must_not过滤此条件的结果
{
“match”: {
“name”: “法外狂徒”
}
},
{
“match”: {
“age”: “20”
}
}
]
},
“match”:{
“键”:“值”
}
},
“_source”:[“name”,“desc”], //查询的字段(结果的过滤)
“sort”: [ //排序 age排序的字段, desc降序
{
“age”: {
“order”: “desc”
}
}
],
“from”: 0, //分页,开始索引
“size”: 1 //查询条数
}

过滤:
(https://img-log.csdnimg.cn/20210319154137662.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjQyMDY2Mw==,size_16,color_FFFFFF,t_70)]

在这里插入图片描述
高亮查询:
在这里插入图片描述

ElasticSearch集成SpringBoot:
引入依赖:

org.elasticsearch.client
elasticsearch-rest-high-level-client
${elasticsearch.version}


commons-logging
commons-logging




org.springframework.boot
spring-boot-starter-data-elasticsearch

    es配置文件:

在这里插入图片描述
测试案例:
在这里插入图片描述
获取并插入多条数据
在这里插入图片描述
查询数据
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值