ElasticSearch ElasticSearch基本概念

elasticserch基本概念

一.节点

如我们有三台服务器组成的ElasticSearch集群,那么每台ElasticSearch服务器就可以称为一个ElasticSearch节点

elasitcsearch节点概念

节点根据功能可分为以下几种:

elasticsearch节点分类

与其他服务器不同,ElasticSearch每个节点可以是单个角色,也可以是多个角色,即某个节点既可以是主节点,也可以是数据节点,而且还可以是协调节点

1.主节点(master node)

主节点主要负责集群层面的管

ElasticSearch ElasticSearch扫盲之十二:ElasticSearch关联查询即父子文档查询和嵌套文档nested查询

注:ElasticSearch系列文章适用于ElasticSearch 6.7,部分内容适用于ElasticSearch7.0

在关系型数据库中,可以通过join实现多表的联表查询,那么在ES中,是否能实现多个index联合查询呢?显然,是不能的,那么如何实现多个index联合查询呢?根据本人的一些微薄经验,大体可以通过以下几个方便来实现:

  • 定义一个组合的index,将多个index的值合并到一

ElasticSearch ElasticSearch扫盲之十一:ElasticSearch结构化查询语句Query DSL之组合查询即bool查询

组合条件查询是基于叶子查询条件,将叶子条件作为子条件,形成一个多字段多条件的组合条件.

一、bool条件

1.功能及参数
  • 功能:通过多个叶子条件形成一个bool条件树
  • 参数:
    • must : 必须满足指定的条件(各子条件是AND关系)
    • filter : 指定必须满足的条件(不统计相关度评分)
    • should : 满足一个子条件即可(各子条件是OR关系)
    • must_not : 不满足条件(NOT)

must/f

ElasticSearch ElasticSearch扫盲之十:ElasticSearch结构化查询语句Query DSL之精确匹配即term查询和范围查询

精确匹配是相对于模糊匹配而言的,一般适用于非字符串类型的字段,如数字型,日期型等

一、条件与目标字段相等

1.term
  • 功能:查找目标字段与条件相等的记录
  • 用法:
  1. term:{"fieldName":"value"}

如:查找状态为正常即status为1的用户列表:

  1. GET user/_doc/_search
  2. {
  3. "_source":["user_id","status"],
  4. "query":{