美文网首页
Elasticsearch实战 第二章 深入功能

Elasticsearch实战 第二章 深入功能

作者: kaiker | 来源:发表于2021-11-27 15:14 被阅读0次

1、逻辑设计

索引-类型-ID的组合唯一确定了ES中的某篇文档

逻辑设计

文档

  • 最小的索引单位是文档
  • 同时包含字段和字段的取值
  • 可以是层次型的
  • 不依赖预先定义的模式
  • ES中的文档是无模式的,并非所有文档都需要有相同的字段

类型

  • 类型是文档的逻辑容器,类似表格
  • 每个类型中字段的定义称为映射,如name字段映射为string,geolocation字段映射为geo_point
  • 最安全的方式是索引数据之前,定义好需要的映射

索引

  • 类似于数据库,是独立的大量文档集合
  • 每个索引有refresh_interval,根据设置的间隔进行刷新,不会更新一个文档就刷新一次

2、物理设计

一个节点是一个运行的ES进程,一份主分片是一块索引,一个索引通常由5个主分片组成

节点

一个节点是一个ES的实例

  • 通过hash选择索引的一个分片,发送到后会进行备份
  • 搜索的时候也是随机在节点上访问,节点之间是透明的
索引一篇文档的过程

分片

一份分片是Lucene索引,一个包含倒排索引的文件目录;ES索引由多个Lucene索引构成

Lucene索引

集群中分发分片

  • 随着越来越多的节点添加,现有分片将在所有节点中进行负载均衡。

分布式索引和搜索

索引已经在前面提到过,hash来选分片
搜索使用round-robin轮训机制选择可用分片,并将搜索请求转发过去

3、索引新数据

通过cURL索引

% curl -XPUT 'localhost:9200/get-together/group/1?pretty' -d '{
  "name":"ES Denver",
  "organizer":"Lee"
}'

创建索引和映射类型

  • 获取映射,访问_mapping端点
curl 'localhost:9200/get-together/_mapping/group?pretty'
返回的内容

4、搜索数据

  • 通过_search端点进行搜索
% curl "localhost:9200/get-together/group/_search?q=sample&pretty"

回复的内容

图片.png
  • took 消耗的时间,单位是毫秒
  • shards 返回的是分片信息
  • hits展示了每个匹配文档的索引、类型、ID、得分、_source信息

搜索

curl 'localhost:9200/get-together/group/_search?pretty' -d '{
  "query": {
    "query_string":{
      "query":"",
      "default_field":"name",
      "default_operator":"AND"
    }
  }
}'

curl 'localhost:9200/get-together/group/_search?pretty' -d '{
  "query": {
    "term":{
      "name":""
    }
  }
}'

// 不会返回得分
curl 'localhost:9200/get-together/group/_search?pretty' -d '{
  "query": {
    "filtered":{
      "filter":{
        "term":{
          "name":"elasticsearch"
         }
       }
    }
  }
}'

5、配置ES

elasticsearch.yml中指定集群名称

  • config/ 中存储ES的主要配置文件

logging.yml指定详细日志记录

  • cluster-name.log 主要日志
  • cluster-name_index_indexing_slowlog.log 慢搜索日志
  • cluster-name_index_indexing-slowlog.log 慢索引日志

调整JVM设置

  • ES在一个JVM中运行
  • ES使用的大部分内存称为堆,默认分配256MB初识内存,最多扩展至1GB
  • export ES_HEAP_SIZE=500m; bin/elsasticsearch 可以调整

相关文章

网友评论

      本文标题:Elasticsearch实战 第二章 深入功能

      本文链接:https://www.haomeiwen.com/subject/prnfxrtx.html