【Elasticsearch 入门公开课】详解 Elasticsearch URI Search 及 Mapping-回顾篇(4)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本周课程(15~18讲)详细介绍了 Elasticsearch URI Search 的基本概念,以及什么是 Request Body 与 Query DSL,如何通过 Query String & Simple Query String 进行查询,并对Dynamic Mapping 和常见字段类型进行了介绍。

本周课程(15~18讲)详细介绍了 Elasticsearch URI Search 的基本概念,以及什么是 Request Body 与 Query DSL,如何通过 Query String & Simple Query String 进行查询,并对Dynamic Mapping 和常见字段类型进行了介绍。

讲师:阮一鸣——eBay Pronto 平台技术负责人、极客时间『Elasticsearch 核心技术与实战』课程讲师
课程为了更多同学能快速体验 Elasticsearch,为大家提供了免费的阿里云 Elasticsearch (3节点1核2G)的测试环境>>>>去开通

image.png

课程回顾

15 | URI Search 详解
16 | Request Body 与 Query DSL 简介
17 | Query String & Simple Query String 查询
18 | Dynamic Mapping 和常见字段类型

知识点 1 :URI Search详解


URI Search 是通过 URI 指定参数实现搜索,

• “q”指定查询语句
• “df”默认字段,不指定时,会对所有字段进行查询
• “Sort”排序/from 和size 用于分页
• “proflie”可以查看查询是如何被执行的

Query String Syntax

image.png

image.png

image.png

image.png

知识点 2 :Request Body与Query DSL简介


在Elasticsearch 中,相对于高阶的查询,往往使用 Requedt Body 进行查询。

分页

在 Requedt Body 中,增加 “from”、“size”可以达到一个分页的效果。

image.png

排序

在 Requedt Body 中,增加“sort”参数

image.png

_ source filtering

在所有的查询中,往往“source”包含了所有文档信息,当数据量大,且不需要拿到部分字段时,那么就可以对“source”做过滤,增加那些需要查询到的信息在“source”里面。

image.png

脚本字段

脚本字段,可以使用 Elasticsearch 中的“painless”脚本,去计算出一个新的字段结果。

image.png

使用查询表达式 — Match

通过"query”、“Match”的方式,在“comment”中填入信息,,通过 Match 当你填入两个词(Last Christmas),那么往往默认是“Last”or“Christmas”,但如果你想同时出现,那么需要加上“operator”:“AND”。

image.png

短语搜索 — Match Phrase

在进行“Phrase”查询的时候,在“query”中的词需要按照顺序出现,也可以通过设置“slop”:1,可以设置“ query”的单词间可以有一个字符。

image.png

知识点 3 :Query String&Simple Query String查询


Query String

在 URI 查询中,可以使用一些特定Query String,在 DSL 里也支持 Query String 的方式查询。

image.png

Simple Query String Query
类似 Query String,但会出现忽略错误语法的情况,且只支持部分语法查询
1、ND OR NOT,会当做字符串处理
2、Term之间默认的关系是 OR,可以指定 Operator
3、查询语句支持部分逻辑
• + 替代 AND
• | 替代 OR
• — 替代 NOT

image.png

知识点 4 :Dynamic Mapping和常见字段类型


什么是 Mapping

一、Mapping 类似数据库中的 schema 的定义
• 定义索引中字段的名称
• 定义字段数据类型,如字符串、数字、布尔....
• 字段,倒排索引的相关配置,(Analyzed or Not Analyzed,Analyzer)

二、Mapping 会将 JSON 文档映射成 Lucene 所需要的扁平格式

三、一个 Mapping 属于一个索引的 Type

常见字段数据类型

在 Elasticsearch 常见字段类型,往往有以下几种;
一、简单类型,包括
• Text / Keyword
• Date
• Integer / Floating
• Boolean
• IPv4 & IPv6
二、复杂类型——对象和嵌套对象
• 对象类型 / 嵌套类型
三、特殊类型
• geo_point & geo_shape / percolator

什么是 Dynamic Mapping

• 在写入新的文档时,如果索引不存在,会自动创建索引。
• Dynamic Mapping 的机制,使得我们无需手动定义 Mappings。Elasticsearch 会自动根据文档信息,推算出字段的类型。偶尔会出现推送不正确的情况,如地理位置信息。
• 但类型设置不正确时,会导致一些功能无法正常运行,如 Range 查询。

image.png

类型自动识别

image.png

Dynamic Mapping 设置

但我们在创建 _Index 时,“dynamic”可以创建为“False”、“true”、“strict”三中值,对应不同的情况。
• 设置为“true”,会出现新的文档,及对应新的字段,那么意味着文档、字段可以被索引,同时Mapping会自动更新
• 设置为“False”,文档还是可以传入 Elasticsearch,但文档新增字段不会被索引,Mapping也不会自动更新。
• 设置为“strict”,数据写入直接出错。

image.png

下周课程预告


点击预约课程

19 | 显式Mapping设置与常见参数介绍
20 | 多字段特性及Mapping中配置自定义Analyzer
21 | Index Template和Dynamic Template
22 | Elasticsearch聚合分析简介

相关活动


更多折扣活动,请访问阿里云 Elasticsearch 官网

• 阿里云 Elasticsearch 商业通用版,1核2G首月免费
阿里云 Elasticsearch 日志增强版,首月六折,年付六折
阿里云 Logstash 2核4G首月免费


image.png

image.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
7月前
|
安全 Linux 开发工具
Elasticsearch 搜索入门技术之一
Elasticsearch 搜索入门技术之一
262 1
|
7月前
|
JSON 自然语言处理 数据库
数据库-ElasticSearch入门(索引、文档、查询)
数据库-ElasticSearch入门(索引、文档、查询)
391 0
|
2月前
|
存储 Java API
Elasticsearch 7.8.0从入门到精通
这篇文章详细介绍了Elasticsearch 7.8.0的安装、核心概念(如正排索引和倒排索引)、RESTful风格、各种索引和文档操作、条件查询、聚合查询以及在Spring Boot中整合Elasticsearch的步骤和示例。
162 1
Elasticsearch 7.8.0从入门到精通
|
3月前
|
数据可视化 Java Windows
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
本文介绍了如何在Windows环境下安装Elasticsearch(ES)、Elasticsearch Head可视化插件和Kibana,以及如何配置ES的跨域问题,确保Kibana能够连接到ES集群,并提供了安装过程中可能遇到的问题及其解决方案。
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
|
3月前
|
存储 关系型数据库 MySQL
浅谈Elasticsearch的入门与实践
本文主要围绕ES核心特性:分布式存储特性和分析检索能力,介绍了概念、原理与实践案例,希望让读者快速理解ES的核心特性与应用场景。
108 12
|
1月前
|
存储 JSON Java
ELK 圣经:Elasticsearch、Logstash、Kibana 从入门到精通
ELK是一套强大的日志管理和分析工具,广泛应用于日志监控、故障排查、业务分析等场景。本文档将详细介绍ELK的各个组件及其配置方法,帮助读者从零开始掌握ELK的使用。
|
4月前
|
JSON 搜索推荐 数据挖掘
ElasticSearch的简单介绍与使用【入门篇】
这篇文章是Elasticsearch的入门介绍,涵盖了Elasticsearch的基本概念、特点、安装方法以及如何进行基本的数据操作,包括索引文档、查询、更新、删除和使用bulk API进行批量操作。
ElasticSearch的简单介绍与使用【入门篇】
|
3月前
|
JSON 监控 Java
Elasticsearch 入门:搭建高性能搜索集群
【9月更文第2天】Elasticsearch 是一个分布式的、RESTful 风格的搜索和分析引擎,基于 Apache Lucene 构建。它能够处理大量的数据,提供快速的搜索响应。本教程将指导你如何从零开始搭建一个基本的 Elasticsearch 集群,并演示如何进行简单的索引和查询操作。
280 3
|
4月前
|
JSON 测试技术 API
黑马商城 Elasticsearch从入门到部署 RestClient操作文档
这篇文章详细介绍了如何使用Java的RestHighLevelClient客户端与Elasticsearch进行文档操作,包括新增、查询、删除、修改文档以及批量导入文档的方法,并提供了相应的代码示例和操作步骤。
|
4月前
|
JSON 自然语言处理 Java
Elasticsearch从入门到部署 文档操作 RestAPI
这篇文章详细介绍了Elasticsearch中文档的增删改查操作,并通过Java的RestHighLevelClient客户端演示了如何通过REST API与Elasticsearch进行交云,包括初始化客户端、索引库的创建、删除和存在性判断等操作。

热门文章

最新文章

相关产品

  • 检索分析服务 Elasticsearch版