文章目录
- 官网
- 学习必要性
- elasticsearch/kibana安装
- 版本
- 数据结构说明
- 7.x版本说明
- ElasticSearch kibana工具测试
- 后续我们会一起分析
官网
https://www.elastic.co/cn/
学习必要性
1、在当前软件行业中,搜索是一个软件系统或平台的基本功能, 学习ElasticSearch就可以为相应的软件打造出良好的搜索体验。
2、其次,ElasticSearch具备非常强的大数据分析能力。虽然Hadoop也可以做大数据分析,但是ElasticSearch的分析能力非常高,具备Hadoop不具备的能力。比如有时候用Hadoop分析一个结果,可能等待的时间比较长。
3、ElasticSearch可以很方便的进行使用,可以将其安装在个人的笔记本电脑,也可以在生产环境中,将其进行水平扩展。
4、国内比较大的互联网公司都在使用,比如小米、滴滴、携程等公司。另外,在腾讯云、阿里云的云平台上,也都有相应的ElasticSearch云产品可以使用。
5、在当今大数据时代,掌握近实时的搜索和分析能力,才能掌握核心竞争力,洞见未来
elasticsearch/kibana安装
安装配置文章:
https://nanxiang.blog.csdn.net/article/details/130533285
Elasticsearch
kibana
版本
https://docs.spring.io/spring-data/elasticsearch/docs/4.4.14/reference/html/
我们选用的是elasticsearch 7.17.9版本,对应的,我们需要升级springboot版本,对应的中间件都需要升级
数据结构说明
• Near Realtime(NRT) 近实时。数据提交索引后,立马就可以搜索到。
• Cluster 集群,一个集群由一个唯一的名字标识,默认为“elasticsearch”。集群名称非常重要,具有相同集群名的节点才会组成一个集群。集群名称可以在配置文件中指定。
• Node 节点:存储集群的数据,参与集群的索引和搜索功能。像集群有名字,节点也有自己的名称,默认在启动时会以一个随机的UUID的前七个字符作为节点的名字,你可以为其指定任意的名字。通过集群名在网络中发现同伴组成集群。一个节点也可是集群。
• Index 索引: 一个索引是一个文档的集合(等同于solr中的集合)。每个索引有唯一的名字,通过这个名字来操作它。一个集群中可以有任意多个索引。
• Type 类型:指在一个索引中,可以索引不同类型的文档,如用户数据、博客数据。从6.0.0 版本起已废弃,一个索引中只存放一类数据。
• Document 文档:被索引的一条数据,索引的基本信息单元,以JSON格式来表示。
• Shard 分片:在创建一个索引时可以指定分成多少个分片来存储。每个分片本身也是一个功能完善且独立的“索引”,可以被放置在集群的任意节点上。
• Replication 备份: 一个分片可以有多个备份(副本)
7.x版本说明
在 Elasticsearch 7.x 版本之前,每个索引可以包含多个类型。但是从 Elasticsearch 7.x 版本开始,Elasticsearch 引入了单一类型的概念,并且默认情况只允许一个类型存在于一个索引。
这意味着在 Elasticsearch 7.x 版本及更高版本中,每个索引只能有一个类型。这个类型被称为doc",它默认的文档类型。当你创建索引并添加文档时,所有的文档都将属于"_doc"类型。
此变化是为了简化 Elasticsearch 的数据模型,并高性能和可扩展性。如果你需要在同一个索引中存储不同类型的文档,你可以使用字段来区分它们,而不是使用不的类型。
例如,你可以在同一个索引中存储有不同结构的日志数据,通过添加一个"type"字段来分它们。然后,你可以使用查询来过滤特定类型的文档。
总结起来,从 Elasticsearch 7.x 版本开始,个索引只能有一个类型,默认为"_doc"类型。
ElasticSearch kibana工具测试
GET _search
{
"query": {
"match_all" : {}
}
}
PUT index-test/test_doc/1
{
"type":"table1",
"body": "here wc"
}
PUT index-test/test_doc/2
{
"type":"table2",
"body": "here lwd"
}
PUT index-test/_doc/3
{
"type":"table3",
"body": "here liyuye2"
}
GET index-test/test_doc/2
GET index-test/_search
{
"query": { "match_all": {}},
"sort": [
{ "_id": "asc" }
],
"from": 0,
"size": 10
}
GET index-test/test_doc/_search
{
"query": { "match_all": {} },
"from": 0,
"size": 10
}
GET index-test/_search
{
"query": { "match": {
"type": "table1"
}},
"sort": [
{ "_id": "asc" }
],
"from": 0,
"size": 10
}
DELETE index-test/test_doc/_doc
GET /index-test/_search
{ "size": 0, "aggs": { "group_by_state": { "terms": { "field": "type.keyword" } } } }
后续我们会一起分析
Elastic生态和场景
Elastic基础概念
Elastic整合springboot
Elastic查询一些关键字
Elastic 客户端应用
Elastic 版本问题
Elastic 其他