前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elasticsearch学习搜索的笔记

Elasticsearch学习搜索的笔记

作者头像
苦咖啡
发布2018-04-28 12:50:36
5470
发布2018-04-28 12:50:36
举报
文章被收录于专栏:我的博客我的博客
代码语言:javascript
复制
1.普通查询(全文搜索)
查询name=Smith的文档数据
GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "name" : "smith"
        }
    }
}
备注:
返回结果当中存在max_score和每个记录当中的_score表示最大相关性分数和该记录的相关性分数

2.组合查询
查询name=smith并且年龄大于30岁
GET /megacorp/employee/_search?pretty
{
    "query" : {
        "bool": {
            "must": {
                "match" : {
                    "name" : "smith" 
                }
            },
            "filter": {
                "range" : {
                    "age" : { "gt" : 30 } 
                }
            }
        }
    }
}

3.短语搜索
查询about字段当中包含rock和climbing并且rock climbing相连
GET /megacorp/employee/_search?pretty
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    }
}

4.高亮搜索
GET /megacorp/employee/_search?pretty
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    },
    "highlight": {
        "fields" : {
            "about" : {}
        }
    }
}

5.聚合查询-分析
按照interests字段进行聚合
GET /megacorp/employee/_search?pretty
{
  "aggs": {
    "all_interests": {
      "terms": { "field": "interests" }
    }
  }
}
报错:illegal_argument_exception
原因:Fielddata is disabled on text fields by default
解决办法:
PUT /megacorp/_mapping/employee
{
   "employee": {
      "properties": {
        "interests": {
          "type": "text",
          "fielddata": true
        }
      }
   }
}
备注:
interests是要聚合的字段名
查询结果当中all_interests是分析结果

6.分级汇总-分析
按照interests字段进行聚合,然后计算age平均年龄
GET /megacorp/employee/_search
{
    "aggs" : {
        "all_interests" : {
            "terms" : { "field" : "interests" },
            "aggs" : {
                "avg_age" : {
                    "avg" : { "field" : "age" }
                }
            }
        }
    }
}
备注:
avg_age是聚合结果当中新增字段
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年6月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档