es不简易指南

作者: 刘阳0292 | 来源:发表于2017-08-30 20:29 被阅读137次

1.nested Object mapping及查询

//mapping中原来是object的地方替代之,就是 nested object了
//nested对象将不被平整化(flatted object fileds),object中的各字段仍保持关联
//平整化会将object中的字段解析成object_name.object_filed_name的形式
PUT [index_name]
{  
  "mappings":{  
     "blogpost":{  
         "properties":{  
             "comments":{  
                "type":"nested",  
                "include_in_parent":true,  
                "properties":{  
                   "name":    {"type":"string"    },  
                   "comment": { "type": "string"  },  
                   "age":     { "type": "short"   },  
                   "stars":   { "type": "short"   },  
                   "date":    { "type": "date"    }  
                }  
             }  
         }  
     }  
  }  
}  
//nested查询
GET [index_name]/[type_name]/_search
{  
  "query":{  
     "bool":{  
        "must":[  
           {"match":{"title":"eggs"}},  
           {  
             "nested":{  
                "path":"comments",  
                "query":{  
                   "bool":{  
                      "must":[  
                         {"match":{"comments.name":"john"}},  
                         {"match":{"comments.age":28}}  
                      ]  
                   }  
                }  
             }  
           }  
        ]  
     }  
  }  
}  

进阶:Elasticsearch之Nested(嵌套)系列es权威指南-嵌套-查询es权威指南-嵌套-对象(官方文档中文详细解释)

2.父子文档

//建立文档的父子关系要在创建索引的时候在mapping中声明哪个是父文档哪个是子文档。
/创建了一个索引,并制定了2个type和它们之间的父子关系。
PUT [index_name]
{
  "mappings": {
    "branch": {},
    "employee": {
      "_parent": {
        "type": "branch"
      }
    }
  }
}
//索引子文档要注明爸爸是谁,父文档不用标注儿子是谁
//子文档的每条文档设置parent属性的value为父文档id
PUT [index_name]/company/employee/1?parent=london&pretty
{
  "name":  "Alice Smith",
  "dob":   "1970-10-24",
  "hobby": "hiking"
}
//通过子文档查父文档
//搜索含有1980年以后出生的employee的branch
GET [index_name]/branch/_search
{           
  "query": {      
    "has_child": {       
      "type": "employee",
      "query": {  
        "range": {
          "dob": {             
            "gte": "1980-01-01"
          }
        }
      }
    }
  }
}
//搜索最少有两个employee的branch
GET [index_name]/branch/_search
{
  "query": {
    "has_child": {
      "type":"employee",
      "min_children": 2,
      "query": {
        "match_all": {}
      }
    }
  }
}
//通过父文档查子文档
GET [index_name]/employee/_search
{
  "query": {       
    "has_parent": {    
      "type": "branch", 
      "query": {  
        "match": {       
          "country": "UK"
        }
      }
    }
  }

进阶:Elasticsearch索引的父子关系(index parent-child)Elasticsearch Java API(七)--多级嵌套搜索(3级)

3.查看热点线程

//查看cpu占用高且执行时间长的Java线程
GET _nodes/_nodes/hot_threads

4.查看集群统计信息

GET _stats
GET _stats?pretty'

5. 禁用all字段

PUT my_index
{
  "mappings": {
    "type_1": { 
      "properties": {...}
    },
    "type_2": { 
      "_all": {
        "enabled": false//禁用
      },
      "properties": {...}
    }
  }
}

6. 删除文档

//删除type下所有
DELETE /mytest/test/_query
{
"query": {
"match_all": {}
}
}
//删除指定id文档
DELETE /website/blog/1234

7. 新建mapping

es 官方 put mapping

PUT mcms_iflow/_mapping/tbl_iflow_feature 
{
  "_all": {
    "enabled": false
  },
  "properties": {
    "id": {
      "type": "string"
    },
    "tags": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "add_time": {
      "type": "long"
    }
  }
}

8. 新建文档数据

ElasticSearch如何添加,检索数据

//新增和更新
PUT mcms_iflow/tbl_iflow_feature/11
{
      "id": "1",
      "tags": "woshi,我是,biaoiqan",
      "title": "title标题",
      "add_time": "1500000000000"
}

//新增文档,默认自增id
POST mcms_iflow/tbl_iflow_feature
{
      "id": "1",
      "tags": "woshi,我是,biaoiqan",
      "title": "title标题",
      "add_time": "1500000000000"
}

相关文章

  • es不简易指南

    1.nested Object mapping及查询 进阶:Elasticsearch之Nested(嵌套)系列、...

  • es简易指南

    headsense 1.查看所有index: 2.查看索引的type、mapping: 3.查看某索引的某类型的数...

  • 2019-11-10 Gson的使用

    参考:除了FastJson,你还有选择: Gson简易指南

  • git-使用指南

    这里推荐一下外国友人的使用指南。做的非常棒。git 使用简易指南☜

  • git学习之好文推荐

    简单入门git - 简易指南 官方中文文档git-book

  • 八、常用资料链接

    Spring Data Elasticsearch ES Java API Elasticsearch 权威指南中...

  • Markdown - 简易指南

    使用markdown的优点 专注于你的文字内容而不是样式 轻松的导出HTML、PDF和本身的.md文件 纯文本内容...

  • git - 简易指南

    一、安装与配置 下载git OSX版 下载git Windows版 下载git Linux版 安装完成后需要配置环...

  • Git简易指南

    今天来分享一下我在使用Git的过程中经常用到的一些命令: 1、创建新仓库 2、检出仓库 3、添加与提交 4、推送改...

  • 档案简易指南

    如果你不是名义上的赵家人,档案对你来说基本没什么卵用。 Q1:档案是什么?有什么用? 一般经大学统招的毕业生毕业之...

网友评论

    本文标题:es不简易指南

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