Elasticsearch-02-es的restapi使用


系列文章:
Elasticsearch-05-Elasticsearch-sql组件史上最全详解
Elasticsearch-04-Elasticsearch组件head和kibana详解
Elasticsearch-03-JavaApi以及springboot中操作-RestHighLevelClient
Elasticsearch-01-es概念及安装

前言:

在此大家的前置知识是了解restful风格的接口以及会使用postman工具
Restful接口详解

1:索引操作

1:创建索引

在 Postman 中, 向 ES 服务器发 PUT 请求 :http://127.0.0.1:9200/索引名
在这里插入图片描述

{
“acknowledged” 【响应结果】 : true, # true 操作成功
“shards_acknowledged” 【分片结果】 : true, # 分片操作成功
“index” 【索引名称】 : “myindex”
}
注意:创建索引库的分片数默认 1 片,在 7.0.0 之前的 Elasticsearch 版本中,默认 5 片

如果重复添加索引, 会返回错误信息

2:查看所有索引

在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/_cat/indices?v
在这里插入图片描述

这里请求路径中的_cat 表示查看的意思, indices 表示索引,所以整体含义就是查看当前 ES
服务器中的所有索引,就好像 MySQL 中的 show tables 的感觉,服务器响应结果如下
在这里插入图片描述

3:查看单个索引

在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/myindex
在这里插入图片描述

{
    "shopping"【索引名】: {
        "aliases"【别名】: {
            
        },
        "mappings"【映射】: {
            
        },
        "settings"【设置】: {
            "index"【设置-索引】: {
                "creation_date"【设置-索引-创建时间】: "1614265373911",
                "number_of_shards"【设置-索引-主分片数量】: "1",
                "number_of_replicas"【设置-索引-副分片数量】: "1",
                "uuid"【设置-索引-唯一标识】: "eI5wemRERTumxGCc1bAk2A",
                "version"【设置-索引-版本】: {
                    "created": "7080099"
                },
                "provided_name"【设置-索引-名称】: "shopping"
            }
        }
    }
}

4:删除索引

在 Postman 中, 向 ES 服务器发 DELETE 请求 :http://127.0.0.1:9200/shopping
在这里插入图片描述

2:映射操作

有了索引库,相当于数据库中的database;
接下来就需要建索引库(index)中的映射了, 类似于数据库(database)中的表结构(table)。
创建数据库表需要设置字段名称,类型, 长度, 约束等; 索引库也一样,需要知道这个类型 下
有哪些字段, 每个字段有哪些约束信息,这就叫做映射(mapping)。

1:创建映射

在 Postman 中, 向 ES 服务器发 PUT 请求 :http://127.0.0.1:9200/索引名/_mapping
注:前提是先创建索引,才可以创建映射
在这里插入图片描述

{
    "properties": {
    	"dynamic": "false",
        "test_keyword_File": {
            "type": "text",
            "fields": {
                "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                }
            }
        },
        "text": {
            "type": "text"
        },
        "keywordFile": {
            "type": "keyword"
        },
        "longFile": {
            "type": "long"
        },
        "date": {
            "type": "date",
            "format": "yyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
        },
        "booleanFile": {
            "type": "boolean"
        }
    }
}

映射数据说明:

  • 字段名:任意填写, 下面指定许多属性, 例如:title 、subtitle 、images 、price
  • type:类型, Elasticsearch 中支持的数据类型非常丰富,说几个关键的:
    • String 类型,又分两种:
      * text:可分词
      * keyword:不可分词,数据会作为完整字段进行匹配
    • Numerical:数值类型,分两类
      • 基本数据类型: long 、integer、short 、byte 、double、float 、
      • half_float 浮点数的高精度类型:scaled_float
    • Date: 日期类型
    • Array:数组类型
    • Object:对象
  • index:是否索引,默认为 true ,也就是说你不进行任何配置,所有字段都会被索引。
    • true:字段会被索引,则可以用来进行搜索
    • false:字段不会被索引, 不能用来搜索
  • store:是否将数据进行独立存储,默认为 false原始的文本会存储在_source 里面, 默认情况下其他提取出来的字段都不是独立存储的,是从_source 里面提取出来的。当然你也可以独立的存储某个字段, 只要设置"store":true 即可, 获取独立存储的字段要比从_source 中解析快得多,但是也会占用
    更多的空间,所以要根据实际业务需求来设置。
  • analyzer:分词器, 可以使用ik_max_word 即使用 ik 分词器,后面会有专门的章节学习
dynamic mapping

ElasticSearch中有一个非常重要的特性——动态映射,即索引文档前不需要创建索引、类型等信息,在索引的同时会自动完成索引、类型、映射的创建。

当ES在文档中碰到一个以前没见过的字段时,它会利用动态映射(dynamic mapping)来决定该字段的类型,并自动地对该字段添加映射。

有时这正是需要的行为,但有时不是,需要留意。你或许不知道在以后你的文档中会添加哪些字段,但是你想要它们能够被自动地索引。或许你只是想要忽略它们。或者,尤其当你将ES当做主要的数据存储使用时,大概你会希望这些未知的字段会抛出异常来提醒你注意这一问题。

幸运的是,你可以通过dynamic设置来控制这一行为,它能够接受以下的选项:

  • dynamic:true:默认值。动态添加字段
  • dynamic:false:新检测到的字段将被忽略。这些字段将不会被索引,因此将无法搜索,但仍将出现在返回点击的源字段中。这些字段不会添加到映射中,必须显式添加新字段。
  • dynamic:strict:如果碰到陌生字段,抛出异常
自定义 dynamic mapping策略

如果你知道你需要动态的添加的新字段,那么你也许会启用动态映射。然而有时动态映射的规则又有些不够灵活。幸运的是,你可以调整某些设置来让动态映射的规则更加适合你的数据。

es会根据传入的值,推断类型,具体如下表所示。
在这里插入图片描述

  • date_detection 日期探测:默认会按照一定格式识别date,比如yyyy-MM-dd。但是如果某个field先过来一个2017-01-01的值,就会被自动dynamic mapping成date,后面如果再来一个"hello world"之类的值,就会报错。可以手动关闭某个type的date_detection,如果有需要,自己手动指定某个field为date类型。
  • numeric_detection 数字探测:虽然json支持浮点和整数数据类型,但某些应用程序或语言有时可能需要将数字呈现为字符串。通常正确的解决方案是显式地映射这些字段,但是可以启用数字检测(默认情况下禁用)来自动完成这些操作。

2:查看映射

在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_mapping
在这里插入图片描述

3:索引关系映射

在 Postman 中, 向 ES 服务器发 PUT 请求 :http://127.0.0.1:9200/student1
这种可以直接创建索引以及对映的映射,不需要提前创建index

在这里插入图片描述

4:为索引新增字段及对应索引

在 Postman 中, 向 ES 服务器发 PUT 请求 :http://127.0.0.1:9200/student1/_mapping
不可以使用/student1然后mapping的方式,那样会提示索引已存在
在这里插入图片描述

5:索引字段类型为text,添加keyword类型操作

  • text类型:会进行分词;分词后建立索引;支持模糊查询;支持准确查询;不支持聚合查询。
  • keyword类型:不会分词;直接建立索引;支持模糊查询;支持准确查询;支持聚合查询。

如果有时候我们我们对于一个text类型的字段即希望他能够分词,又希望他精确索引,那么我们就可以给这个字段设置为text,并加上keyword类型操作,当然,如果我们创建索引时不指定映射,es的自动动态映射也可以设置成这样:
在这里插入图片描述

在这里插入图片描述

6:修改字段映射类型

首先说明es中索引的字段类型是不可修改的,只能是重新创建一个索引并设置好mapping,然后再将老索引的数据复制过去。
解决思路:
新建临时索引,执行字段类型,复制数据
删除旧索引,重建同名索引,从临时索引复制数据

#获取旧索引的字段映射
GET /users/_mapping

#创建临时索引带映射
PUT /users_temp
{
    "mappings": {
		"user": {
			"properties": {
				"age": {
					"type": "long"
                },
            }
        }
    }
}

#复制数据
POST /_reindex
{
  "source": {
    "index": "users"
  }, 
  "dest": {
    "index": "users_temp"
  }
}

#删除旧索引
DELETE /users

#创建新索引带映射
PUT /users
{
    "mappings": {
		"user": {
			"properties": {
				"age": {
					"type": "long"
                },
            }
        }
    }
}

#复制数据
POST /_reindex
{
  "source": {
    "index": "users_temp",
    "query": {
      "match_all": {}
    }
  }, 
  "dest": {
    "index": "users"
  }
}

#删除临时索引
DELETE /users_temp

7:新增日期字段映射

{

"properties":{
            "dateFormatDate":{
                 "type": "date",
                 "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||yyyy-MM||epoch_millis"       
            }
        }
}

在这里插入图片描述

3:文档操作

1:创建文档

在 Postman 中, 向 ES 服务器发 POST 请求 :http://127.0.0.1:9200/myindex/_doc
在这里插入图片描述
上面的数据创建后, 由于没有指定数据唯一性标识(ID), 默认情况下, ES 服务器会随机
生成一个。
如果想要自定义唯一性标识,需要在创建时指定:http://127.0.0. 1:9200/myindex/_doc/1
在这里插入图片描述

2:查看文档

在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/shoppin/_doc/1
![在这里插入图片描述](https://img-blog.csdnimg.cn/d39e37e9a73643b68d3f48da16a6b84f.pn

在这里插入图片描述

3:修改文档-全覆盖

和新增文档一样,输入相同的 URL 地址请求,如果请求体变化,会将原有的数据内容覆盖
在 Postman 中, 向 ES 服务器发 POST 请求 :http://127.0.0.1:9200/shopping/_doc/1
在这里插入图片描述
在这里插入图片描述

4:修改文档-修改单个字段

向 ES 服务器发 POST 请求 :http://127.0.0.1:9200/shopping/_doc/1,请求体发生改变
在这里插入图片描述

5:删除文档

删除一个文档不会立即从磁盘上移除,它只是被标记成已删除(逻辑删除) 。
在 Postman 中, 向 ES 服务器发 DELETE 请求 :http://127.0.0.1:9200/shopping/_doc/1
在这里插入图片描述
在这里插入图片描述

6:根据条件删除文档

一般删除数据都是根据文档的唯一性标识进行删除,实际操作时,也可以根据条件对多条数据进行删除

向 ES 服务器发 POST 请求 :http://127.0.0.1:9200/shopping/_delete_by_query
在这里插入图片描述
在这里插入图片描述

4:高级查询

1:查询所有文档-search

在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student1/_search

{
	"query": {
		"match_all": {}
	}
}
# "query":这里的 query 代表一个查询对象,里面可以有不同的查询属性
# "match_all":查询类型,例如: match_all(代表查询所有), match,term , range 等等
# {查询条件}:查询条件会根据类型的不同,写法也有差异

在这里插入图片描述

结果解析:
在这里插入图片描述

2:匹配查询-match

match 匹配类型查询,会把查询条件进行分词, 然后进行查询, 多个词条之间是 or 的关系
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student1/_search

{
    "query":{
        "match":{
            "name":"张三"
        }
    }
}

在这里插入图片描述
match查询会先对搜索词进行分词,分词完毕后再逐个对分词结果进行匹配,因此相比于term的精确搜索,match是分词匹配搜索,例如,当我们搜索中国杭州,搜索词会先分词为中国杭州,只要文档中包含中国杭州任意一个词,都会被搜索到
如果我们仅仅想搜索中国和杭州都包含的文档该怎么办呢?
其实,对于match搜索,可以按照分词后的分词集合的or或者and进行匹配,默认为or,这也是为什么我们看到前面的搜索都是只要有一个分词出现在文档中就会被搜索出来,同样的,如果我们希望是所有分词都要出现,那只要把匹配模式改成and就行了

GET my_test_index/_search
{
  "query": {
    "match": {
      "name": {
        "query": "中国杭州",
        "operator": "and"
      }
    }
  }
}

3.1:紧邻匹配-match_phrase

match_phrase为按短语搜索,这个可能先用英文来解释会直观一点(中文分词后其实已经是一个一个有具体意思的词语)。英文中以空格分词,因此分词后是一个个的单词,当想搜索类似hope so这样的短语时,你或许并不想将一些只含有hope的文档搜索出来,也不想将一些类似I hope ×××. So ××这样的搜索出来,此时,就可以用match_phrase。
match_phrase的搜索方式和match类似,先对搜索词建立索引,并要求所有分词必须在文档中出现(像不像operator为and的match查询),除此之外,还必须满足分词在文档中出现的顺序和搜索词中一致且各搜索词之间必须紧邻,因此match_phrase也可以叫做紧邻搜索。
所以,当我们搜美国留给

curl -XGET http://localhost:9200/index/doc/_search?pretty -d 
'{
  "query": {
    "match_phrase": {
        "content": "美国留给"
    }
  }
}'

能搜出文档

    "_source" : {
        "content" : "美国留给伊拉克的是个烂摊子吗",
        "title" : "标题",
        "tags" : [ "美国", "伊拉克", "烂摊子" ]
    }

但是我们搜索留给美国或美国伊拉克时,却没有搜索结果,因为一个顺序不对,一个不是紧邻(隔着留给)。
紧邻对于匹配度要求较高,为了减小精度增加可操作性,引入了slop参数。该参数可以指定相隔多少个词仍被算作匹配成功。如下,

curl -XGET http://localhost:9200/index/doc/_search?pretty -d 
'{
    "query": {
        "match_phrase": {
            "content": {
                "query": "美国伊拉克",
                "slop": "1"
            }
        }
    }
}'

当我们将slop设置为1时,文档1已能被搜索到。

  "_source" : {
    "content" : "美国留给伊拉克的是个烂摊子吗",
    "title" : "标题",
    "tags" : [ "美国", "伊拉克", "烂摊子" ]
  }

3.2:多字段匹配查询-multi_match

multi_match 与 match 类似,不同的是它可以在多个字段中查询。
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

3.3:模糊匹配-wildcard

使用 wildcard 查询,这是一项支持通配符的模糊检索功能,有点类似 SQL 中的 like 匹配。
waildcard中文是通配符的意思,通配符是匹配一个或者多个字符的占位符,我们平时也总会遇到。es也为我们提供了这种查询方式。例如下面的例子,只要文档中的user.id以ki开始,以y结尾,那么都能匹配到。这里的 * 表示可以匹配多个字符。wildcard查询支持下面几个参数:

  • value:查询条件,就是我们指定的通配符,目前支持两种:表示可以匹配0到多个字符,?表示匹配任何单个字符。注意在正则表达式中,不能用或者?开头,因为这样可能匹配到大量的数据,导致性能下降严重。
  • boost:用来减少或增加查询相关性算分的参数。
  • case_insensitive:默认值false,如果设置为true,表示不区分大小写。

wildcard:不分词通配符的方式匹配词条,

  • *:指任意内容
  • ?:指任意一个内容
  • ??:指任意两个内容
GET es_user/_search    
{
  "query": {
    "wildcard": {
      "address": "北京*"
    }
  }
}

注:wildcard 用法和match_phrase 以及terms 不一样,虽然可以被查询的字段address可以是数组,但是不可以像terms一样查询多个,如果要查询多关键字,可以使用bool.should 链接

GET es_user/_search    
{
    "query": {
        "bool": {
            "should": [
                {
                    "wildcard": {
                        "address": "北京*"
                    }
                },
                {
                    "wildcard": {
                        "address": "上海*"
                    }
                },
                {
                    "wildcard": {
                        "address": "深圳*"
                    }
                }
            ]
        }
    }

4:关键字精确查询-term

term 查询,精确的关键词匹配查询, 不对查询条件进行分词。
term是代表完全匹配,也就是精确查询,搜索前不会再对搜索词进行分词,所以我们的搜索词必须是文档分词集合中的一个。

$curl -XGET http://localhost:9200/index/doc/_search?pretty -d 
'{
  "query":{
    "term":{
        "title":"北京奥运"
    }
  }
}'

得到一下结果:

{
    "took": 1,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "failed": 0
    },
    "hits": {
    "total": 1,
    "max_score": 0.92055845,
    "hits": [
     {
        "_index": "index",
        "_type": "doc",
        "_id": "3",
        "_score": 0.92055845,
        "_source": {
           "content": "同一个世界同一个梦想",
           "title": "北京奥运",
           "tags": [
               "和平"
            ]
        }
      }
    ]
  }
}

搜索title包含北京或者奥运的,结果也一样,但是如果你搜索词为京奥,或者北京奥这样的,那么搜索结果将为空。
这是因为在对文档建立索引时,会将北京奥运分词为北京,奥运,北京奥运,只要搜索词为这三个之一,都可以将这篇文章搜索出来,而京奥和北京奥并不在分词集合里,所以无法搜索到该文档。
如果对于某个字段,你想精确匹配,即搜索什么词匹配什么词,类似sql中的=操作,比如只能通过北京奥运搜索到文档3而不想让北京和奥运也搜索到,那么,你可以在建立索引阶段指定该字段为"index": “not_analyzed”,此时,elasticsearch将不会对该字段的值进行分词操作,只保留全文字索引

5:多关键字精确查找-terms

terms 查询和 term 查询一样,但它允许你指定多值进行匹配。
如果这个字段包含了指定值中的任何一个值, 那么这个文档满足条件, 类似于 mysql 的 in
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

6:指定字段查询-(_source)

默认情况下,Elasticsearch 在搜索的结果中,会把文档中保存在_source 的所有字段都返回
。 如果我们只想获取其中的部分字段, 我们可以添加_source 的过滤
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

7:过滤字段-(includes)

我们也可以通过:

  • includes:来指定想要显示的字段
  • excludes:来指定不想要显示的字段
    在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
    在这里插入图片描述

8:组合查询-bool

bool把各种其它查询通过must (必须 )、 must_not (必须不)、 should (应该)
的方 式进行组合
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

9:范围查询-range

range 查询找出那些落在指定区间内的数字或者时间。 range 查询允许以下字符
在这里插入图片描述

  • eq 等于
  • neq 不等于
  • gt: greater than 大于
  • gte: greater than or equal 大于等于
  • lt: less than 小于
  • lte: less than or equal 小于等于

在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

10:模糊查询-fuzzy

返回包含与搜索字词相似的字词的文档。
编辑距离是将一个术语转换为另一个术语所需的一个字符更改的次数。这些更改可以包括:

  • 更改字符(box → fox)
  • 删除字符(black → lack)
  • 插入字符(sic → sick)
  • 转置两个相邻字符(act → cat)

为了找到相似的术语,fuzzy 查询会在指定的编辑距离内创建一组搜索词的所有可能的变
体 或扩展。然后查询返回每个扩展的完全匹配。
通过 fuzziness 修改编辑距离。一般使用默认值 AUTO ,根据术语的长度生成编辑距离。

在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

11:单字段排序-sort

sort 可以让我们按照不同的字段进行排序, 并且通过 order 指定排序的方式。 desc 降序, asc
升序。
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

12:多字段排序-sort

假定我们想要结合使用 age 和 _score 进行查询, 并且匹配的结果首先按照年龄排序,然
后 按照相关性得分排序
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

13:分页查询-from$size

from:当前页的起始索引,默认从 0 开始。 from = (pageNum - 1) * size
size:每页显示多少条
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

14:聚合查询-count,max,min,avg,sum

聚合允许使用者对 es 文档进行统计分析, 类似与关系型数据库中的 group by,当然还有很
多其他的聚合, 例如取最大值、平均值等等。
对某个字段取最大值 max
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

对某个字段取最小值 min
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

对某个字段在查出的结果集中取和 sum
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

对某个字段在查出的结果集中取平均值 avg
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

对某个字段的值进行去重之后再取总数
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

State 聚合
stats 聚合, 对某个字段一次性返回 count ,max ,min ,avg 和 sum 五个指标
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述

15:桶聚合查询(group by分组)- terms

也可参考另一篇文章Elasticsearch-桶聚合查询详解

桶聚和相当于 sql 中的 group by 语句
terms 聚合,分组统计
在 Postman 中, 向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/student/_search
在这里插入图片描述
在桶聚合分组查询后再进行聚合查询
在这里插入图片描述

16:查询某个字段存在

GET index_info/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "status": {
              "value": "0"
            }
          }
        },
        {
          "exists": {
            "field": "name_id"
          }
        }
      ]
    }
  }
}

17:查询不存在某个字段

GET index_info/_search
{
  "query": {
    "bool": {
      "must": [
         {
          "term": {
            "status": {
              "value": "0"
            }
          }
        }
      ], 
      "must_not": [
        {
          "exists": {
            "field": "name_id"
          }
        }
      ]
    }
  },
  "track_total_hits": true
}

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Boot是一个用于构建独立Spring应用程序的框架,它简化了Spring应用程序的配置和部署过程。而Spring Data Elasticsearch是Spring Data家族中的一员,它为与Elasticsearch进行交互提供了简化的API和工具集。 Spring Data Elasticsearch Rest模块是Spring Data Elasticsearch的一个子项目,它提供了一种使用RESTful APIElasticsearch进行交互的方式。通过这个模块,我们可以使用标准的HTTP请求和响应来操作Elasticsearch集群。 使用Spring Data Elasticsearch Rest,我们可以轻松地与Elasticsearch进行索引、搜索、聚合等操作。它提供了一系列的注解和接口,可以将Java对象映射到Elasticsearch文档,并使用RESTful API来对这些文档进行增删改查。 在使用Spring Data Elasticsearch Rest之前,我们需要进行依赖配置和相应的初始化工作。首先,在pom.xml文件中添加相应的依赖,然后在配置文件中指定Elasticsearch集群的地址和端口号。 在使用RestHighLevelClient对象与Elasticsearch进行交互时,我们可以通过使用CRUDRepository接口中的方法来进行增删改查操作。同时,Spring Data Elasticsearch Rest还提供了一些特殊的查询注解,如@Query、@Aggregation等,可以编写自定义的查询和聚合操作。 总的来说,Spring Data Elasticsearch Rest提供了一种简洁、易用的方式来与Elasticsearch进行交互。通过使用它,我们能够更加方便地操作Elasticsearch集群,并且可以利用Spring的强大功能来简化开发过程。无论是对于初学者还是有经验的开发者来说,使用Spring Data Elasticsearch Rest都是一种高效的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苍煜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值