ES(Elastic Search)入门和springboot结合(二)

本文介绍了Elasticsearch中的核心概念,如索引、类型、文档、字段、分片和副本,并展示了如何进行数据的增删查改操作。通过GET和PUT等命令,我们可以管理索引和文档,而DSL语言则支持复杂查询、排序、分页及高亮显示。此外,还讲解了过滤条件的布尔逻辑操作符must、must_not和should。

1、名词解释

1.1  index 索引(索引库)

ES中的索引非传统索引的含义,ES中的索引是存放数据的地方,是ES中的一个概念词汇

index类似于我们Mysql里面的一个数据库 create database user; 好比就是一个索引库

1.2 type类型

每一个index下面,可以有一个或者多个type,好比数据库里面的一张表

相当于表结构的描述,描述每个字段的类型。

1.3 document:文档

是ES里面最小的数据单元,就好比表里面的一条数据

1.4 Field 字段

好比关系型数据库中列的概念,一个document有一个或者多个field组成。

1.5 shard:分片

一台服务器,无法存储大量的数据,ES把一个index里面的数据,分为多个shard,分布式的存储在各个服务器上面。

kafka:为什么支持分布式的功能,因为里面是有topic,支持分区的概念。所以topic A可以存在不同的节点上面。就可以支持海量数据和高并发,提升性能和吞吐量

1.6 replica:副本

在ES集群中,我们一模一样的数据有多份,能正常提供查询和插入的分片我们叫做 primary shard,其余的我们就管他们叫做 replica shard(备份的分片)

当我们去查询数据的时候,我们数据是有备份的,它会同时发出命令让我们有数据的机器去查询结果,最后谁的查询结果快,我们就要谁的数据(这个不需要我们去控制,它内部就自己控制了)

 2、查看es基本信息

cluster_name  集群名称

number 版本号

lucene_version luncene的版本号

3、ES的相关命令

PUT 类似于SQL中的增

DELETE 类似于SQL中的删

POST 类似于SQL中的改

GET 类似于SQL中的查

ndex的操作:

PUT /aura_index 增加一个aura_index的index库

GET _cat/indices 命令查询ES中所有的index索引库

 示例使用:

#获取所有索引
GET _cat/indices
#查看索引状态
GET _cat/health
#插入索引
PUT /test_index
#删除索引
DELETE /test_index

#插入数据  /库名/表名/数据id
PUT /test/table/1
{
   "block": "TJ-11",
  
}

#查询数据 GET /index/type/id
GET /test/table/1

#删除数据
DELETE /cnocc/maximo/1

#查询全部
GET /cnocc/maximo/_search

took:耗费了 XXX毫秒

shards:分片的情况

hits:获取到的数据的情况

total:3 总的数据条数

max_score:1 所有数据里面打分最高的分数

_score:1 分数,这个分数越大越靠前出来,百度也是这样。除非是花钱。否则匹配度越高越靠前

 # DSL 语言  查询匹配所有
GET /cnocc/maximo/_search
{
  "query":{
    "match_all": {}
  }
}

# DSL 语言  查询匹配  排序
GET /cnocc/maximo/_search
{
  "query":{
    "match": {
      "itemdesc": "歧口"
    }
  },
  "sort": [
    {
      "orderqty":
      {
        "order":"desc"
      }
    }
    ]
}

# DSL 语言  查询匹配  排序  + 分页 +高亮
GET /cnocc/maximo/_search
{
  "query":{
    "match": {
      "itemdesc": "歧口"
    }
  },
  "sort": [
    {
      "orderqty":
      {
        "order":"desc"
      }
    }
    ],
    "from":0,
    "size":2,
    "highlight":{
      "fields": {
        "itemdesc": {}
      }
    }
}


# DSL 语言  查询匹配  排序  + 分页 +返回指定内容
GET /cnocc/maximo/_search
{
  "query":{
    "match": {
      "itemdesc": "歧口"
    }
  },
  "sort": [
    {
      "orderqty":
      {
        "order":"desc"
      }
    }
    ],
    "from":0,
    "size":2,
    "_source":["orderqty","itemdesc"]
}
 

ol 过滤可以用来合并多个过滤条件查询结果的布尔逻辑,它包含以下操作符:

must :: 多个查询条件的完全匹配,相当于 and

must_not :: 多个查询条件的相反匹配,相当于 not

should :: 至少有一个查询条件匹配, 相当于 or

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值