ElasticSearch ElasticSearch扫盲之八:ElasticSearch结构化查询语句Query DSL使用

ElasticSearch查询语句查询条件主要是通过query参数来传递的,而query参数是一种使用JSON来表示搜索条件的一种特殊语句,今天我们来揭开它神秘的面纱。

ElasticSearch的查询语句DSL

一、无查询条件

无查询条件是查询所有,默认是查询所有的,或者使用match_all表示所有

  1. GET /user/_doc/_search
  2. {
  3. "query":{
  4. "match_all":{}
  5. }
  6. }

二、有查询条件

1.叶子条

ElasticSearch Elasticsearch扫盲之七:ElasticSearch的搜索_search的基本用法及分页和排序参数说明

ElasticSearch的_search主要是针对各种搜索条件获取搜索结果的API.

一、主要用法

  • 请求方式:GET
  • 请求地址:
    • 不指定index : search
    • 指定index : /{{indexName}}/_search
    • 指定index和type : {{indexName}}/{{typeName}}/_search
  • 请求参数:
    • 通过URL传参数(Query String)
    • 通过请求体传参数

ElasticSearch Elasticsearch扫盲之六:ElasticSearch文档操作之单个文档、多个文档即_mget批量文档获取和_bulk批量文档操作

ElasticSearch中的文档表示一条记录,类似于MySQL中的一行记录

一、单个文档

1.创建文档
  • 请求类型:PUT
  • 请求地址:{{indexName}}/{{typeName}}/{{id}}
  • 参数:文档数据对象
  1. PUT user/_doc/5
  2. {
  3. "user_id":5,
  4. "account":"frank",
  5. "email":"frank@gmail.com",
  6. "status":1,

ElasticSearch Elasticsearch扫盲之五:ElasticSearch中mapping字段的数据类型详解

在ElasticSearch中,字段有以下类型,主要分为简单类型和复合类型

一、简单类型

1.字符串
  • text : 文本,将会被分词
  • keyword : 有固定格式的文本,不会被分词(当作一个整体)

注:text类型一般用于全文索引,它将会被拆成多个关键词,与文档ID形成倒排索引,因此,在定义为text时,如果需要索引它,有必要指定它的分词器,特定是对于中文的文本

  1. {
  2. "user_id":"1001

ElasticSearch Elasticsearch扫盲之四: ElasticSearch的index的Settings配置参数详解

ElasticSearch索引配置settings的配置项可分为以下几种类型:

一、静态配置项

所谓静态配置项就是在创建index时指定,创建后不能再修改

1.分片相关的配置
配置项 功能 备选值 默认值 其他说明
index.number_of_shards 当前index拥有的主分片数 5 最大为1024
index.shard.check_on_startup 在启动时是否检

ElasticSearch Elasticsearch扫盲之三:ElasticSearch文档管理之index操作

在传统的关系型数据中,我们如果想要存储数据,首先得创建数据库和数据库表,定义数据库表的结构,那么在ElasticSearch中,是否需要这么做呢?
我们在向ElasticSearch存入数据时,系统会把我们自动创建index和mapping,当然我们也可以手动去创建index,并指定mapping,手动创建index,可以进行个性化的设置,在实际开发中是有必要的。

一、index的基本操作

注:这里以

消息系统 数据库binlog订阅和消费组件canal快速入门

一、什么是canal

1.定位

Canal是阿里巴巴开源的一款基于mysql数据库binlog增量日志分析提供数据订阅和消费功能的组件

2.原理

Canal原理

  • Canal模拟MySQL Slave协议,将自己伪装成MySQL Slave,将Master发送dump协议
  • Master将binlog同步到Slave(这里是Canal)
  • Canal解析binlog,可以做相关的后续操作,如同步发送到MQ,或同步到其他存储系

ElasticSearch Elasticsearch扫盲之二:ElasticSearch安装及集群部署

一、ElasticSearch的安装

各系统都有对应的二进制包,这里以Linux安装为例

1.下载二进制包
  1. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz
2.解压二进制包
  1. tar -zxvf elasticsearch-6.6.0.tar.gz
3.将解压后的二进制表移动到目标位置

ElasticSearch ElasticSearch扫盲之一:ElasticSearch基本概念介绍

ElasticSearch是一款高扩展性的、开源的、全文搜索和分析引擎,那么我们先从以下几个方面来粗步了解它:

一、什么是搜索引擎

搜索引擎,即指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统.

小到一个网站的内部搜索功能,如博客文章的搜索,电商平台商品的搜索,大到提供全网搜索的网站,如谷歌、百度等

二、倒排