ElasticSearch自学笔记

news2024/11/28 9:44:32

es学习内容

day01

概念区别

Mysql和es概念对比

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • mysql:擅长事务类型的操作,可以确保数据的安全和一致性
  • ES:擅长海量数据的搜索,分析和计算

mapping 属性

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 创建index的时候值为true就是参与搜索

索引库修改

PUT /库名/_mapping
字段名必须是新字段名

文档操作,新增文档

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

文档操作,删除文档

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

修改文档

  1. 全量修改

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 增量修改

RestClient

查询语法的分类

1条件查询

GET /hotel/_search
{
  "query": {
    "match_all": {}
  }
}

2全文检索

实际上是一种相关度的匹配

match

GET /hotel/_search
{
  "query": {
    "match": {
      "all": "如家"
    }
  }
}

multi_match:与match查询相似,只不过允许同时擦汗寻多个字段

GET /hotel/_search
{
  "query": {
    "multi_match": {
      "query": "外滩如家"
      , "fields": ["brand","name","business"]
    }
  }
}

推荐使用match字段来查询

3精确查询

  • term 根据词条的精确值的查询(不再进行分词)
GET /hotel/_search
{
  "query": {
    "term": {
      "city": {
          "value":"上海"
      }
    }
  }
}
  • range 根据值的范围查询
  • gte大于等于gt只有大于
GET /hotel/_search
{
  "query": {
    "range": {
      "price": {
        "gte": 100,
        "lte": 300
      }
    }
  }
}

4地理查询

  • distance查询
# distance查询
GET /hotel/_search
{
  "query": {
    "geo_distance":{
      "distance":"2km",
      "location":"31.21,121.5"
    }
  }
}

适用于经纬度的信息

DSL查询语法,加分方式

# function score查询
GET /hotel/_search
{
  "query": {
    "function_score": {
      "query": {
        "match": {
          "all": "外滩"
        }
      }
      , "functions": [
        {
          "filter": {
          "term": {
          "brand": "如家"
        }
        }, 
        "weight": 10 
        }
        
      ]
      , "boost_mode": "sum"
    }
  }
}

查询案例

要求名字包含如家,价格不高于400的,在坐标31.21.121.5周围10km范围内的酒店

  • must必须匹配的条件,可以理解为与
  • should选择性匹配的条件,或
  • must_not必须不匹配的条件,不参与打分
  • filter必须匹配的条件,不参与打分
GET /hotel/_search  
{  
  "query": {  
    "bool": {  
      "must": [  
        {  
          "match": {  
            "name": "如家"  
          }  
        }  
      ],  
      "must_not": [  
        {  
          "range": {  
            "price": {  
              "gt": 400  
            }  
          }  
        }  
      ],  
      "filter": [  
        {  
          "geo_distance": {  
            "distance": "10km",  
            "location": {  
              "lat": 31.21,  
              "lon": 121.5  
            }  
          }  
        }  
      ]  
    }  
  }  
}

排序

对酒店数据按照用户评价降序排序,评价相同的按照价格升序排列

# sort 排序
GET /hotel/_search
{
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "score": "desc"
    },
    {
      "price": "asc"
    }
  ]
}

找到周围的酒店

GET /hotel/_search
{
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "_geo_distance": {
        "location": {
          "lat": 31.11111,
          "lon": 121.11111
        },
        "order": "asc"
        , "unit": "km"
      }
    }
  ]
}

分页

  • from+size 支持随机翻页,深度分页问题默认查询上线from+size是10000
  • after search 没有查询上限,没有随机翻页的项目需求,如手机向下滚动翻页
# 分页查询
GET /hotel/_search
{
  "query": {
    "match_all": {}
  },
  "from": 10,
  "size": 10, 
  "sort": [
    {
      "price": {
        "order": "asc"
      }
    }
  ]
}

数据聚合

aggs代表数据的聚合

# 聚合功能,限制聚合范围
GET /hotel/_search 
{
  "query": {
    "range": {
      "price": {
        "lte": 200
      }
    }
  }, 
  "size": 0,
  "aggs":{
    "brandAgg":{
      "terms": {
        "field": "brand",
        "size": 20,
        "order": {
          "_count": "asc"
        }
      }
    }
  }
}

聚合的三要素

  • 聚合名称
  • 聚合类型
  • 聚合字段

size指定聚合结果的数量

order指定聚合的排序方式

field指定聚合字段

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1042005.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3dmax渲染内存不足,这样解决!

在3dmax工作时显示以下错误消息,3ds Max 中“发生内存不足错误”或者是3dmax渲染内存不足,可能还注意到系统性能很慢。 3dmax渲染内存不足原因: 发生此错误的原因是计算机在完成您请求的操作之前耗尽了可用内存。执行任何过程时都可能会出…

DP7340——192KHz双声道输入24位AD 转换器

DP7340是一款完整的采样、模数音频信号转换、抗混叠滤波的芯片,在串行格式下以每声道最高200kHz采样率高达24位宽,并支持大部分的音频数据格式。 DP7340基于一个带线性模拟低通滤波器的五阶Multi-BitΔ∑调制器,自动检测信号频率和主时钟频率…

记:CN 470-510MHz Band

目录 CN470-510 序头格式 CN470-510频道频率 CN470-510 数据速率和终端输出功率编码 CF470-510 JoinResp CFList CN470-510 LinkADRReq命令 CN470-510 最大载荷大小 CN470-510接收窗口 CN470-510默认参数 CN470-510 序头格式 应使用以下同步字: 调制同步字…

Pyside6:开发一个自适应的图片控件

在Qt中最简单展示图片用的控件是QLabel,但这个控件使用起来非常不方便,没有添加自适应的时候: 可以发现该图片是按真实像素来展示的,因此图片如果过大,只能展示局部。那么添加自适应后,变化又会出现&#x…

简单但好用:4种Selenium截图方法了解一下!

前言 我们执行UI自动化操作时,大多数时间都是不在现场的,出现错误时,没有办法第一时间查看到,这时我们可以通过截图当时出错的场景保存下来,后面进行查看报错的原因,Selenium中提供了几种截图的方法&#…

spring bean实例化过程及顺序

spring bean的初始化从doCreateBean方法开始,依次会调用下面三个方法执行bean的初始化。大部分方法都在AbstractAutowireCapableBeanFactory类中。 实例化 createBeanInstance()方法根据BeanDef获取bean对应的class通过反射调用构造函数进行bean的实例化。 这里会…

C语言的stdio.h的介绍

C语言的stdio.h的介绍 C语言的stdio.h的介绍 C语言的stdio.h的介绍C语言stdio.h的介绍 C语言stdio.h的介绍 这个含义是导入标准输入输出库 包含头文件.h&#xff0c;std标准库&#xff0c;io是input output输入输出库 <>代表系统库&#xff0c;自定义的话用""…

Android Jetpack Compose之确定重组范围并优化重组

目录 1.概述2.确定Composable重组的范围3.优化重组的性能3.1 Composable 位置索引3.2 通过Key添加索引信息3.3 使用注解Stable优化重组 1.概述 前面的文章提到Compose的重组是智能的&#xff0c;Composable函数在进行重组时会尽可能的跳过不必要的重组&#xff0c;只对需要变化…

C语言中结构体,枚举,联合相关介绍

本次重点&#xff1a; 1、结构体 &#xff1a; &#xff08;1&#xff09;结构体类型的声明 &#xff08;2&#xff09;结构的自引用 &#xff08;3&#xff09;结构体变量的定义和初始化 &#xff08;4&#xff09;结构体内存对齐 &#xff08;5&#xff09;结构体传参 …

干细胞液氮容器选择与使用

干细胞液氮容器的使用非常重要&#xff0c;以确保干细胞样品在冷冻和储存过程中的有效性和安全性。以下是使用干细胞液氮容器时需要注意的事项&#xff1a; 1、容器选择&#xff1a;选择合适的容器非常重要。容器应具有良好的密封性能和耐腐蚀性&#xff0c;以避免外部空气和污…

01-Zookeeper特性与节点数据类型详解

上一篇&#xff1a; 在了解Zookeeper之前&#xff0c;需要对分布式相关知识有一定了解&#xff0c;什么是分布式系统呢&#xff1f;通常情况下&#xff0c;单个物理节点很容易达到性能&#xff0c;计算或者容量的瓶颈&#xff0c;所以这个时候就需要多个物理节点来共同完成某项…

Oracle VM VirtualBox安装并下载安装CentOS7

Oracle VM VirtualBox安装并下载安装CentOS7 Oracle VM VirtualBox下载CentOS创建虚拟机 Oracle VM VirtualBox VM下载链接 https://www.oracle.com/cn/virtualization/virtualbox/ 点击链接直接下载就行&#xff0c;下载完默认安装或者更改一下安装目录。 下载CentOS http://…

服务网格概述

引言 2016 年前后&#xff0c;"服务网格"这个词出现在微服务、云计算和 DevOps 的领域。Buoyant 团队在 2016 年用这个词来解释他们的产品 Linkerd。服务网格的到来主要是由于 IT 领域内的一场风暴。开发人员开始使用多语言&#xff08;polyglot&#xff09;方法构建…

古彝文识别:文化遗产的数字化之旅

目录 &#x1f345;前言&#x1f353;古彝文介绍&#x1f353;古彝文识别的重难点&#x1f352;原籍难以获取&#xff0c;传统翻译过程繁琐&#xff0c;周期长。&#x1f352;版式多样&#xff0c;笔画相近。&#x1f352;图像质量差&#xff0c;手写识别难。&#x1f352;古彜…

第二证券:迎政策助力,新型工业化爆发,德恩精工3日涨超60%

新式工业化概念26日盘中大幅拉升&#xff0c;到发稿&#xff0c;德恩精工、精伦电子、天永智能等涨停&#xff0c;固高科技涨约8%&#xff0c;亚威股份涨逾6%&#xff0c;金自天正、创世纪涨约5%。 值得注意的是&#xff0c;精伦电子已接连5个交易日涨停&#xff0c;公司昨日晚…

Mac菜单栏图标管理工具:Bartender 5 完美兼容MacOS Sonoma 14系统

Bartender 5 是一款流行的软件程序&#xff0c;专为酒店行业的调酒师和专业人士设计。它提供了一系列功能和工具来简化酒吧或餐厅的饮料订单、库存和客户偏好的管理流程。Bartender 5 的一些主要功能包括&#xff1a; 1. 饮料配方&#xff1a;该软件包括一个全面的饮料配方数据…

计算机丢失msvcp140_1.dll的解决办法,丢失msvcp140_1.dll的原因

丢失 msvcp140_1.dll 是一个常见的错误信息&#xff0c;通常会在尝试运行某些程序时出现。msvcp140_1.dll 是一个动态链接库文件&#xff0c;它包含了许多 C标准库函数的实现&#xff0c;这些函数在许多程序中都是必需的。因此&#xff0c;如果丢失了该文件&#xff0c;程序可能…

【MySQL基础 | 中秋特辑】多表查询详细总结

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】&#x1f388; 本专栏旨在分享学习MySQL的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 目录 一、多表…

如何解决跨浏览器兼容性问题?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 解决跨浏览器兼容性问题⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量…

台式多参数水质测定仪可以测哪些污水

台式污水测定仪可以测哪些污水&#xff1a; 1.废水处理厂监测&#xff1a;废水处理厂需要定期监测废水中的污染物浓度&#xff0c;包括COD、氨氮、总磷和总氮等指标。台式废水检测仪可以提供快速、准确的检测结果&#xff0c;帮助废水处理厂了解废水处理效果&#xff0c;以便进…