ElasticSearch基本使用--ElasticSearch文章一

文章目录

  • 官网
  • 学习必要性
  • 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
ElasticSearch基本使用--ElasticSearch文章一_第1张图片

kibana
ElasticSearch基本使用--ElasticSearch文章一_第2张图片

版本

https://docs.spring.io/spring-data/elasticsearch/docs/4.4.14/reference/html/

ElasticSearch基本使用--ElasticSearch文章一_第3张图片
ElasticSearch基本使用--ElasticSearch文章一_第4张图片

我们选用的是elasticsearch 7.17.9版本,对应的,我们需要升级springboot版本,对应的中间件都需要升级

数据结构说明

ElasticSearch基本使用--ElasticSearch文章一_第5张图片

• 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工具测试

ElasticSearch基本使用--ElasticSearch文章一_第6张图片

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 其他

你可能感兴趣的:(分布式微服务,elasticsearch,大数据)