跟着强哥学ElasticsearchElasticserach 入门1.1

Posted IT李强club

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟着强哥学ElasticsearchElasticserach 入门1.1相关的知识,希望对你有一定的参考价值。

  1. document数据格式

面向文档的搜索分析引擎

(1)应用系统的数据结构都是面向对象的,复杂的

(2)对象数据存储到数据库中,只能拆解开来,变为扁平的多张表,每次查询的时候还得还原回对象格式,相当麻烦

(3)ES是面向文档的,文档中存储的数据结构,与面向对象的数据结构是一样的,基于这种文档数据结构,es可以提供复杂的索引,全文检索,分析聚合等功能

(4)es的document用json数据格式来表达

2. es api

(1)快速检查集群的健康状况

es提供了一套api,叫做cat api,可以查看es中各种各样的数据

GET /_cat/health?v

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent

1488006741 15:12:21  elasticsearch yellow          1         1      1   1    0    0        1             0                  -                 50.0%

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent

1488007113 15:18:33  elasticsearch green           2         2      2   1    0    0        0             0                  -                100.0%

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent

1488007216 15:20:16  elasticsearch yellow          1         1      1   1    0    0        1             0                  -                 50.0%

如何快速了解集群(status)的健康状况?green、yellow、red?

green:每个索引的primary shard和replica shard都是active状态的

yellow:每个索引的primary shard都是active状态的,但是部分replica shard不是active状态,处于不可用的状态

red:不是所有索引的primary shard都是active状态的,部分索引有数据丢失了

(2)快速查看集群中有哪些索引

GET /_cat/indices?v

health status index   uuid                   pri rep docs.count docs.deleted store.size pri.store.size

yellow open   .kibana rUm9n9wMRQCCrRDEhqneBg   1   1          1            0      3.1kb          3.1kb

(3)简单的索引操作

创建索引:PUT /test_index?pretty

health status index      uuid                   pri rep docs.count docs.deleted store.size pri.store.size

yellow open   test_index XmS9DTAtSkSZSwWhhGEKkQ   5   1          0            0       650b           650b

yellow open   .kibana    rUm9n9wMRQCCrRDEhqneBg   1   1          1            0      3.1kb          3.1kb

删除索引:DELETE /test_index?pretty

health status index   uuid                   pri rep docs.count docs.deleted store.size pri.store.size

yellow open   .kibana rUm9n9wMRQCCrRDEhqneBg   1   1          1            0      3.1kb          3.1kb

----------------------------------------------------------------------------------------------------------------------------


3.  CRUD操作


1)新增商品:新增文档,建立索引

PUT /index/type/id

{

  "json数据"

}

PUT /ecommerce/product/1

{

    "name" : "gaolujie yagao",

    "desc" :  "gaoxiao meibai",

    "price" :  30,

    "producer" :      "gaolujie producer",

    "tags": [ "meibai", "fangzhu" ]

}


(2)查询商品:检索文档

GET /index/type/id

GET /ecommerce/product/1

{

  "_index": "ecommerce",

  "_type": "product",

  "_id": "1",

  "_version": 1,

  "found": true,

  "_source": {

    "name": "gaolujie yagao",

    "desc": "gaoxiao meibai",

    "price": 30,

    "producer": "gaolujie producer",

    "tags": [

      "meibai",

      "fangzhu"

    ]

  }

}


(3)修改商品:替换文档

PUT /ecommerce/product/1

{

    "name" : "jiaqiangban gaolujie yagao",

    "desc" :  "gaoxiao meibai",

    "price" :  30,

    "producer" :      "gaolujie producer",

    "tags": [ "meibai", "fangzhu" ]

}


(4)修改商品:更新文档

POST /ecommerce/product/1/_update

{

  "doc": {

    "name": "jiaqiangban gaolujie yagao"

  }

}

(5)删除商品:删除文档

DELETE /ecommerce/product/1

{

  "found": true,

  "_index": "ecommerce",

  "_type": "product",

  "_id": "1",

  "_version": 9,

  "result": "deleted",

  "_shards": {

    "total": 2,

    "successful": 1,

    "failed": 0

  }

}


以上是关于跟着强哥学ElasticsearchElasticserach 入门1.1的主要内容,如果未能解决你的问题,请参考以下文章

跟着鬼哥学so改动,二,进行篇

跟着弦哥学人工智能——序

跟着鸟哥学linux总结之档案权限

跟着狼哥学高性能框架Netty

2.10linux学习

跟峰哥学最精准的openstack