Elasticsearch实战 第二章 深入功能

2021-11-27  本文已影响0人  kaiker

1、逻辑设计

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

逻辑设计

文档

类型

索引

2、物理设计

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

节点

一个节点是一个ES的实例

索引一篇文档的过程

分片

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

Lucene索引

集群中分发分片

分布式索引和搜索

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

3、索引新数据

通过cURL索引

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

创建索引和映射类型

curl 'localhost:9200/get-together/_mapping/group?pretty'
返回的内容

4、搜索数据

% curl "localhost:9200/get-together/group/_search?q=sample&pretty"

回复的内容

图片.png

搜索

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中指定集群名称

logging.yml指定详细日志记录

调整JVM设置

上一篇下一篇

猜你喜欢

热点阅读