elasticsearch 5.4 增删改查

增删改

注:以下HTTP请求省略ip和端口,例如

"http://192.168.181.130:9200/megacorp/employee/aaa" 将简写为 "/megacorp/employee/aaa" 

官方API
https://www.elastic.co/guide/cn/elasticsearch/guide/current/search-in-depth.html
1.增加、更新文档

#当该文档存在时将进行更新
PUT /megacorp/employee/aaa
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
#megacorp--> 索引名称
#employee-->类型
#aaa-->文档的id

局部更新

POST /megacorp/employee/aaa/_update
{
  "doc": {
    "last_name": "f1lk"
  }
}

2.删除文档

DELETE /megacorp/employee/aaa

文档的检索

1.根据索引、 类型和ID

GET /megacorp/employee/aaa

2.根据索引和类型

#返回megacorp索引的所有employee数据
GET /megacorp/employee/_search

3.简单条件查询

GET /megacorp/employee/_search?q=last_name:Smith

4使用DSL语句查询
DSL(Domain Specific Language特定领域语言)以JSON请求体的形式出现

#match-->分词模式匹配计算相关性
POST /megacorp/employee/_search
{
  "query": {
    "match": {
      "last_name": "Smith"
    }
  }
}

#短语搜索 模糊匹配
POST /megacorp/employee/_search
{
  "query": {
    "match_phrase": {
      "about": "rock climbing"
    }
  }
}

5.聚合
5.x的版本的聚合这些操作用单独的数据结构(fielddata)缓存到内存里了,故做聚合前需要针对text类型的字段的聚合设置开启(一般不建议对text 类型做分组聚合),其他类型的字段无需设置
简单来说就是在聚合前执行如下操作

PUT megacorp/_mapping/employee/
{
  "properties": {
    "interests": { 
      "type":     "text",
      "fielddata": true
    }
  }
}

这样就可以针对"interests"字段做聚合搜索了

POST /megacorp/employee/_search 
{ 
  "aggs": { 
    "all_interests": { 
      "terms": { "field": "interests" } 
    } 
  } 
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 博客原文一博客原文二 翻译作品,水平有限,如有错误,烦请留言指正。原文请见 官网英文文档 起步 Elasticse...
    rabbitGYK阅读 3,299评论 0 68
  • 欢迎访问我的博客查看原文:http://wangnan.tech 注:文本整理自《ELKstack权威指南》 目录...
    GhostStories阅读 10,543评论 0 7
  • Solr&ElasticSearch原理及应用 一、综述 搜索 http://baike.baidu.com/it...
    楼外楼V阅读 7,388评论 1 17
  • 记忆中的少年时光是唯美的,即使是在夏天似火的骄阳下,也充斥着铺天盖地的烂漫情怀。一辆破旧的自行车朝着落日的方向,耳...
    墨镜123456阅读 422评论 0 1