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

ElasticSearch 6.x 学习笔记:20.搜索排序

作者头像
程裕强
发布2022-05-06 19:16:20
2210
发布2022-05-06 19:16:20
举报
文章被收录于专栏:大数据学习笔记

20.1 按照文档添加顺序排序

代码语言:javascript
复制
GET website/_search

GET website/_search
{
  "query": {
    "match_all": {}
  }
}

20.2 按照文档相关度评分排序

代码语言:javascript
复制
GET website/_search
{
  "query": {
    "term": {
      "title": {
        "value": "centos"
      }
    }
  }
}

查询结果

代码语言:javascript
复制
{
  "took": 3,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 2,
    "max_score": 0.9227539,
    "hits": [
      {
        "_index": "website",
        "_type": "blog",
        "_id": "6",
        "_score": 0.9227539,
        "_source": {
          "title": "CentOS更换国内yum源",
          "author": "程裕强",
          "postdate": "2016-12-30",
          "abstract": "CentOS更换国内yum源",
          "url": "http://url/53946911"
        }
      },
      {
        "_index": "website",
        "_type": "blog",
        "_id": "3",
        "_score": 0.2876821,
        "_source": {
          "title": "CentOS升级gcc",
          "author": "程裕强",
          "postdate": "2016-12-25",
          "abstract": "CentOS升级gcc",
          "url": "http://url/53868915"
        }
      }
    ]
  }
}

20.3 指定字段排序

【例子】按照postdate日期降序排序

代码语言:javascript
复制
GET website/_search
{
  "query": {
    "match_all": {}
  }, 
  "sort": [
    {"postdate":{"order":"desc"}}
  ]
}
代码语言:javascript
复制
{
  "took": 51,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 8,
    "max_score": null,
    "hits": [
      {
        "_index": "website",
        "_type": "blog",
        "_id": "8",
        "_score": null,
        "_source": {
          "title": "es高亮",
          "author": "程裕强",
          "postdate": "2017-01-03",
          "abstract": "Elasticsearch查询关键字高亮",
          "url": "http://url/53991802"
        },
        "sort": [
          1483401600000
        ]
      },
      {
        "_index": "website",
        "_type": "blog",
        "_id": "5",
        "_score": null,
        "_source": {
          "title": "libstdc++.so.6",
          "author": "程裕强",
          "postdate": "2016-12-30",
          "abstract": "libstdc++.so.6问题解决",
          "url": "http://url/53946911"
        },
        "sort": [
          1483056000000
        ]
      },
      {
        "_index": "website",
        "_type": "blog",
        "_id": "6",
        "_score": null,
        "_source": {
          "title": "CentOS更换国内yum源",
          "author": "程裕强",
          "postdate": "2016-12-30",
          "abstract": "CentOS更换国内yum源",
          "url": "http://url/53946911"
        },
        "sort": [
          1483056000000
        ]
      },
      {
        "_index": "website",
        "_type": "blog",
        "_id": "7",
        "_score": null,
        "_source": {
          "title": "搭建Ember开发环境",
          "author": "程裕强",
          "postdate": "2016-12-30",
          "abstract": "CentOS系统下搭建Ember开发环境",
          "url": "http://url/53947507"
        },
        "sort": [
          1483056000000
        ]
      },
      {
        "_index": "website",
        "_type": "blog",
        "_id": "4",
        "_score": null,
        "_source": {
          "title": "vmware复制虚拟机",
          "author": "程裕强",
          "postdate": "2016-12-29",
          "abstract": "vmware复制虚拟机",
          "url": "http://url/53946664"
        },
        "sort": [
          1482969600000
        ]
      },
      {
        "_index": "website",
        "_type": "blog",
        "_id": "3",
        "_score": null,
        "_source": {
          "title": "CentOS升级gcc",
          "author": "程裕强",
          "postdate": "2016-12-25",
          "abstract": "CentOS升级gcc",
          "url": "http://url/53868915"
        },
        "sort": [
          1482624000000
        ]
      },
      {
        "_index": "website",
        "_type": "blog",
        "_id": "2",
        "_score": null,
        "_source": {
          "title": "watchman源码编译",
          "author": "程裕强",
          "postdate": "2016-12-23",
          "abstract": "CentOS7.x的watchman源码编译",
          "url": "http://url.cn/53844169"
        },
        "sort": [
          1482451200000
        ]
      },
      {
        "_index": "website",
        "_type": "blog",
        "_id": "1",
        "_score": null,
        "_source": {
          "title": "Ambari源码编译",
          "author": "程裕强",
          "postdate": "2016-12-21",
          "abstract": "CentOS7.x下的Ambari2.4源码编译",
          "url": "http://url.cn/53788351"
        },
        "sort": [
          1482278400000
        ]
      }
    ]
  }
}

20.4 多字段排序

【例子】salary降序,age升序 (1)准备数据

代码语言:javascript
复制
PUT my-index

PUT my-index/persion/1
{
  "name":"张三",
  "age":20,
  "salary":6000
}

PUT my-index/persion/2
{
  "name":"李四",
  "age":20,
  "salary":8000
}

PUT my-index/persion/3
{
  "name":"王五",
  "age":21,
  "salary":6000
}
PUT my-index/persion/4
{
  "name":"刘六",
  "age":21,
  "salary":8000
}

(2)salary降序,age升序

代码语言:javascript
复制
GET my-index/_search
{
  "sort": [
    {"salary":{"order":"desc"}},
    {"age":{"order":"asc"}}
  ]
}
代码语言:javascript
复制
{
  "took": 3,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 4,
    "max_score": null,
    "hits": [
      {
        "_index": "my-index",
        "_type": "persion",
        "_id": "2",
        "_score": null,
        "_source": {
          "name": "李四",
          "age": 20,
          "salary": 8000
        },
        "sort": [
          8000,
          20
        ]
      },
      {
        "_index": "my-index",
        "_type": "persion",
        "_id": "4",
        "_score": null,
        "_source": {
          "name": "刘六",
          "age": 21,
          "salary": 8000
        },
        "sort": [
          8000,
          21
        ]
      },
      {
        "_index": "my-index",
        "_type": "persion",
        "_id": "1",
        "_score": null,
        "_source": {
          "name": "张三",
          "age": 20,
          "salary": 6000
        },
        "sort": [
          6000,
          20
        ]
      },
      {
        "_index": "my-index",
        "_type": "persion",
        "_id": "3",
        "_score": null,
        "_source": {
          "name": "王五",
          "age": 21,
          "salary": 6000
        },
        "sort": [
          6000,
          21
        ]
      }
    ]
  }
}

20.5 分片影响评分

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-19,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 20.1 按照文档添加顺序排序
  • 20.2 按照文档相关度评分排序
  • 20.3 指定字段排序
  • 20.4 多字段排序
  • 20.5 分片影响评分
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档