ElasticSearch常用的API接口(网页上使用)

 1 基本操作

(1)创建一个索引,添加

PUT /test1/type1/1
{
 "name" : "流柚",
 "age" : 18
}

字符串类型
text、
keyword

- text:支持分词,全文检索,支持模糊、精确查询,不支持聚合,排序操作;text类型的最大支持的字符长度无限制,适合大字段存储;
- keyword:不进行分词,直接索引、支持模糊、支持精确匹配,支持聚合、排序操作。keyword类型的最大支持的长度为——32766个UTF-8类型的字符,可以通过设置ignore_above指定自持字符长度,超过给定长度后的数据将不被索引,无法通过term精确匹配检索返回结果。

Text和Keyword类型的区别

text: 它会为该字段的内容进行拆词操作,并放入倒排索引表中

keyword: 它不会进行拆词操作

使用match匹配查询---对匹配的关键字进行拆词操作,并和倒排索引表中对应。

使用term精准匹配---它不会对关键字进行拆词操作,而且把关键字作为一个整体和倒排索引表进行匹配


数值型
long、Integer、short、byte、double、float、half float、
scaled float
日期类型
date
te布尔类型
boolean
二进制类型
binary
等等…
(2)指定字段的类型(使用PUT)
类似于建库(建立索引和字段对应类型),也可看做规则的建立

PUT /test02
{
 "mappings": {
  "properties": {
     "name":{
      "type": "text"
    },
     "age":{
      "type": "integer"
    }
  }
}
}

(3)获取信息

get test02

(4)获取默认类型 

_doc 默认类型(default type),type 在未来的版本中会逐渐弃用,因此产生一个默认类型进行代替

PUT /test3/_doc/1
{
 "name": "流柚",
 "age": 18,
 "birth": "1999-10-10"
}
GET test3

如果自己的文档字段没有被指定,那么ElasticSearch就会给我们默认配置字段类型

 扩展:通过 get _cat/ 可以获取ElasticSearch的当前的很多信息!

GET _cat/indices
GET _cat/aliases
GET _cat/allocation
GET _cat/count
GET _cat/fielddata
GET _cat/health
GET _cat/indices
GET _cat/master
GET _cat/nodeattrs
GET _cat/nodes
GET _cat/pending_tasks
GET _cat/plugins
GET _cat/recovery
GET _cat/repositories
GET _cat/segments
GET _cat/shards
GET _cat/snapshots
GET _cat/tasks
GET _cat/templates
GET _cat/thread_pool

(5)修改

两种方案

①旧的(使用put覆盖原来的值)
版本+1(_version)
但是如果漏掉某个字段没有写,那么更新是没有写的字段 ,会消失

①旧的(使用put覆盖原来的值)
版本+1(_version)
但是如果漏掉某个字段没有写,那么更新是没有写的字段 ,会消失

PUT /test3/_doc/1
{
 "name" : "流柚是我的大哥",
 "age" : 18,
 "birth" : "1999-10-10"
}
GET /test3/_doc/1
// 修改会有字段丢失
PUT /test3/_doc/1
{
 "name" : "流柚"
}
GET /test3/_doc/1

②新的(使用post的update)
version不会改变
需要注意doc
不会丢失字段 

POST /test3/_doc/1/_update
{
"doc":{
 "name" : "post修改,version不会加一",
 "age" : 2
}
}
GET /test3/_doc/1

6、删除

GET /test1
DELETE /test1

7、查询(简单条件)

GET /test3/_doc/_search?q=name:流柚

8、复杂查询

test3索引中的内容

PUT /user/_doc/1
{
 "name":"刘民谐",
 "age": 18,
 "desc": ["有趣","幽默","开朗"]

PUT /user/_doc/2
{
 "name":"马老师",
 "age": 18,
 "desc": ["严谨","冷漠"]
}
PUT /user/_doc/3
{
 "name":"流油",
 "age": 3,
 "desc":["美丽","年轻","苗条"]
}

①查询匹配
match :匹配(会使用分词器解析(先分析文档,然后进行查询))
_source :过滤字段
sort :排序
form 、 size 分页

// 查询匹配
GET /blog/user/_search
{
 "query":{
  "match":{
   "name":"流"
  }
 }
 ,
 "_source": ["name","desc"]
 ,
 "sort": [
  {
   "age": {
    "order": "asc"
   }
  }
 ]
 ,
 "from": 0
 ,
 "size": 1
}

②多条件查询(bool)

must 相当于 and
should 相当于 or
must_not 相当于 not (... and ...)
filter 过滤

/// bool 多条件查询
 must <==> and
 should <==> or
 must_not <==> not (... and ...)
 filter数据过滤
 boost
 minimum_should_match
GET /blog/user/_search
{
 "query":{
  "bool": {
   "must": [
{
     "match":{
      "age":3
    }
   },
   {
     "match": {
      "name": "流"
    }
   }
  ],
   "filter": {
    "range": {
     "age": {
      "gte": 1,
      "lte": 3
    }
   }
  }
 }
}
}

③匹配数组
貌似不能与其它字段一起使用
可以多关键字查(空格隔开)— 匹配字段也是符合的
match 会使用分词器解析(先分析文档,然后进行查询)
搜词

// 匹配数组 貌似不能与其它字段一起使用
// 可以多关键字查(空格隔开)
// match 会使用分词器解析(先分析文档,然后进行查询)
GET /blog/user/_search
{
"query":{
 "match":{
  "desc":"年龄 牛 大"
 }
}
}

④精确查询
term 直接通过 倒排索引 指定词条查询
适合查询 number、date、keyword ,不适合text

// 精确查询(必须全部都有,而且不可分,即按一个完整的词查询)
// term 直接通过 倒排索引 指定的词条 进行精确查找的
GET /blog/user/_search
{
"query":{
 "term":{
  "desc":"年 "
 }
}
}

⑤text和keyword
text:
支持分词,全文检索、支持模糊、精确查询,不支持聚合,排序操作;text类型的最大支持的字符长度无限制,适合大字段存储;
keyword:
不进行分词,直接索引、支持模糊、支持精确匹配,支持聚合、排序操作。
keyword类型的最大支持的长度为——32766个UTF-8类型的字符,可以通过设置ignore_above指定自持字符长度,超过给定长度后的数据将不被索引,无法通过term精确匹配检索返回结果。

// 测试keyword和text是否支持分词
// 设置索引类型
PUT /test
{
"mappings": {
 "properties": {
  "text":{
   "type":"text"
  },
  "keyword":{
   "type":"keyword"
  }
 }
}
}
// 设置字段数据
PUT /test/_doc/1
{
"text":"测试keyword和text是否支持分词",
"keyword":"测试keyword和text是否支持分词"
}
// text 支持分词
// keyword 不支持分词
GET /test/_doc/_search
{
"query":{
 "match":{
  "text":"测试"
 }
}
}// 查的到
GET /test/_doc/_search
{
"query":{
 "match":{
  "keyword":"测试"
 }
}
}// 查不到,必须是 "测试keyword和text是否支持分词" 才能查到
GET _analyze
{
"analyzer": "keyword",
"text": ["测试liu"]
}// 不会分词,即 测试liu
GET _analyze
{
"analyzer": "standard",
"text": ["测试liu"]
}// 分为 测 试 liu

⑥高亮查询

/// 高亮查询
GET blog/user/_search
{
"query": {
 "match": {
  "name":"流"
 }
}
,
"highlight": {
 "fields": {
  "name": {}
 }
}
}
// 自定义前缀和后缀
GET blog/user/_search
{
"query": {
 "match": {
  "name":"流"
 }
}
,
"highlight": {
 "pre_tags": "<p class='key' style='color:red'>",
 "post_tags": "</p>",
 "fields": {
  "name": {}
 }
}
}

lqh12138
关注 关注
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Elasticsearchelasticsearch 常用 API 介绍
九师兄
10-22 1838
这里是积累各种API检索所有的_all字段q = pony包含运算符和包含boost精确检索的复杂检索使用通配符和特殊查询进行检索模糊搜素和范围检索。
esapi-2.1.0.1-dist.zip
05-08
ESAPI (OWASP企业安全应用程序...ESAPI接口库被设计来使程序员能够更容易的在现有的程序中引入安全因素。ESAPI库也可以成为作为新程序开发的基础。使用方法可参考https://blog.csdn.net/ru_li/article/details/51354758
ES基础篇 常用API之搜索查询
u010088278的博客
06-23 747
本文介绍了Elasticsearch常用搜索方式:URL搜索和DSL搜索,以及搜索范围索引的指定方式等
搜索引擎2】实现API方式调用ElasticSearch8接口
stringjava_001的博客
03-27 1422
1、理解ElasticSearch各名词含义ElasticSearch对比MysqlElasticsearch使用Java开发的,8.1版本的ES需要JDK17及以上版本;es默认带有JDK,如果安装es环境为java8,则会默认使用自带环境;索引、文档、映射索引index跟我们常说的数据库索引没有任何关系,它其实相当于数据库里面存数据的表;文档document对应我们数据库的数据,即每行数据;映射mappding。
ElasticSearch 文档API
做Java整整10年,目前是教别人写代码,嘿嘿
12-24 1470
ElasticSearch提供单文档和多文档API,其中API调用分别针对单文档和多文档。 一、索引API使用特定映射对相应的索引发出请求时,它有助于在索引中添加或更新JSON文档。例如,下面的请求将把JSON对象添加到schools映射下。 POST /schools/_doc/4 { "name":"City School", "description":"ICSE", "street":"West End", "city":"Meerut", "state":"UP",
Elasticsearch8.0版本中Elasticsearch Java API Client客户端的基本使用方法
无枫的博客,分享Java及Vue方向的技术文章
03-10 1万+
关于Elasticsearch Java API Client客户端如何连接以及如何对索引和文档进行基本的增删改查操作请查看我的上一篇博文:Elasticsearch RestHighLevelClient 已标记为被弃用 它的替代方案 Elasticsearch Java API Client 的基础教程及迁移方案_无枫的博客,分享Java及Vue方向的技术文章-CSDN博客 本篇主要描述在Elasticsearch Java API Client客户端中如何进行批量操作,以及如何进行各种条件及类..
认识ElasticSearchAPI,并深入Search的使用
chuiku1691的博客
02-28 1107
0.引言 本文罗列介绍了ES提供的公共API,重点围绕数据检索主题相关API进行说明总结。 1.概述 Elasticsearch提供全功能的RESTful API。以基于HTTP协议传输交换JSON数据的方式,向用户提供访问服务。 具体的访问方式可按照参数的提交方法区分为以下两种: 通过UR...
ElasticSearch】HTTP调用API
al6nlee的博客
04-29 2558
本文主要介绍了ElasticSearch的HTTP调用接口,类比SQL数据库学习方法
3D引擎,渲染系统使用的OpenGL 及 OpenGL ES,Windows上OpenGL ES使用AMD的ES模拟器.zip
最新发布
05-11
OpenGL(Open Graphics Library)是一个跨平台、跨语言的图形编程接口API)。它被广泛用于实现2D和3D图形渲染,并且是许多应用程序、游戏和网页浏览器的核心组件。 以下是对 OpenGL 的一些主要特性的概述: 1. 低...
esapi - 2.1.0-dist.tar.gz
03-23
ESAPI (OWASP企业安全应用程序接口)是一个免费、开源的、网页应用程序安全控件库,它使程序员能够更容易写出更低风险的程序。
hyperf-mall:一套集成短信注册、邮箱注册、角色权限、支付宝网页支付、微信扫码支付、众筹、秒杀、ElasticSearch商品分面搜索等一系列商城基础功能Api
05-07
集成短信注册、邮箱注册、角色权限、支付宝网页支付、微信扫码支付、分期支付、众筹、无限级分类、秒杀、ElasticSearch商品分面搜索等一系列商城基础功能。 接口文档预览 声明 这个项目是本人在工作之余学习hyperf时...
ElasticSearch Java API 中文文档
01-04
ElasticSearch Java API 中文文档 ElasticSearch Java API 中文文档
DataGear数据可视化分析平台.rar
07-04
1 支持接入多种数据源支持接入任意提供JDBC驱动的数据库,包括MySQL、Oracle、PostgreSQL、SQL Server等关系数据库,以及Elasticsearch、ClickHouse、Hive等大数据引擎 2 支持多种格式的数据集支持创建SQL、CSV、...
Elasticsearch入门】ElasticSearch HTTP接口
通往神秘的道路的专栏
06-05 5661
Elasticsearch对外提供的API是以HTTP协议的方式,通过JSON格式以REST约定对外提供。 HTTP配置文件是放在elasticsearch.ym中,注意,所有与HTTP配置相关的内容都是静态配置,也就是需要重启后才生效。HTTP对外接口模块是可以禁用的,只需要设置http.enabled为false即可。Elasticsearch集群中的通信是通过内部接口实现的,而不是HTTP协...
ElasticSearch文档API
ShareBoy
12-27 1万+
ElasticSearch 5.x 创建索引 index API
通过HTTP RESTful API 操作elasticsearch搜索数据
热门推荐
stark_summer的专栏
09-30 5万+
样例数据集这是编造的JSON格式银行客户账号信息文档,文档schema如下: { “account_number”: 0, “balance”: 16623, “firstname”: “Bradshaw”, “lastname”: “Mckenzie”, “age”: 29, “gender”: “F”, “address”:
ElasticSearch API使用
a805814077的博客
11-19 519
ElasticSearch API使用,包括增删改查,全文索引
Elasticsearch相关API操作
liangzelei的博客
06-23 1万+
操作环境准备pom文件内容:&lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;junit&lt;/groupId&gt; &lt;artifactId&gt;junit&lt;/artifactId&gt; &lt;version&gt;3.8.1&lt;/version&gt; &lt
Elasticsearch7.1中文文档-第四章-API约定
清水
06-30 5395
Elasticsearch REST APIs是用HTTP暴露的,并且是基于JSON的。 除非另有说明,否则本章中的约定都可以使用REST API使用。 多索引 索引名称中支持日期数学 公用选项 基于URL的访问控制 多索引 大多数引用index参数的api支持跨多个索引执行,使用简单的test1,test2,test3表示法(或_all表示所有索引)。 所有多索引API都支持下面的url查...
elasticsearch常用api
03-16
Elasticsearch常用API包括: 1. 索引API:用于创建、更新、删除索引,以及添加、更新、删除文档。 2. 搜索API:用于执行各种类型的搜索操作,包括全文搜索、聚合、过滤等。 3. 聚合API:用于执行各种类型的聚合操作,如统计、分组、排序等。 4. 映射API:用于定义索引的映射,包括字段类型、分词器、分析器等。 5. 管理API:用于管理集群、节点、索引、分片等。 6. 客户端API:用于与Elasticsearch进行交互的客户端API,包括Java、Python、Ruby等语言的API。 以上是Elasticsearch常用API的简要介绍,具体使用方法可以参考官方文档。

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Gateway 服务网关、nacos(集群)配置管理 3517
  • SpringBoot架构 3193
  • SpringBoot--无网络时创建 2345
  • ElasticSearch常用的API接口(网页上使用) 1510
  • SpringMVC的controller层、异常处理类、拦截器 1221

分类专栏

  • spring-cloud 9篇
  • springboot 9篇
  • Linux 9篇
  • Jenkins 1篇
  • shiro 5篇
  • Vue 3篇
  • Redis 4篇
  • Shell 1篇
  • mybatis-plus 1篇

最新评论

  • SpringBoot--无网络时创建

    �亮: 一般公司内网有自己的私服

  • SpringBoot--无网络时创建

    lqh12138: 可以在电脑上整个maven的本地仓库

  • SpringBoot--无网络时创建

    qq_37937131: 那肯定是需要自己提前下载好依赖

  • SpringBoot--无网络时创建

    nreyog: 没网的话,maven能加载那些依赖吗

  • 第十一章 集合

    younger123rtyui9: 写的很全面,请加快剩下内容的更新

大家在看

  • 动态内存管理 1
  • 【雕爷学编程】Arduino BLDC 之基于互补滤波的姿态控制算法
  • [数据集][目标检测]变电站火灾检测电力场景烟雾明火检测数据集VOC+YOLO格式140张2类别真实场景非PS合成 1
  • 启动应用程序出现dxdiag.exe找不到问题解决
  • Windows11系统WmsProxyStub.dll文件丢失问题

最新文章

  • 设计模式-模板模式和策略模式
  • 常用的设计模式
  • seata-分布式事务
2022年59篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司遵义seo网站优化哪家好陇南网站定制哪家好东莞seo通辽网站优化排名报价铜陵网站设计模板多少钱定西网站建设设计多少钱中卫百姓网标王推荐广元网站制作设计推荐黑河优秀网站设计报价南通设计公司网站南联百度竞价包年推广推荐厦门设计网站南阳网站优化软件公司开封seo优化报价镇江百度竞价包年推广哪家好临汾百度seo哪家好阳江网站设计模板哪家好平凉百度seo公司南澳SEO按天计费价格迪庆关键词按天收费价格莱芜seo网站推广昌都百度网站优化排名推荐林芝网站推广方案多少钱莱芜营销型网站建设报价巢湖seo优化多少钱霍邱网站优化按天计费南昌模板网站建设多少钱中山建站公司朔州关键词排名价格随州模板推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化