首页 > 其他分享 >es: 指定排序字段和顺序

es: 指定排序字段和顺序

时间:2024-07-25 16:41:09浏览次数:16  
标签:GET 查询 字段 score query 排序 your es

一,默认的排序字段_score

_score在elasticsearch中代表文档与搜索查询的匹配程度。
当执行一个搜索请求时,Elasticsearch会根据相关性得分_score来排序返回的结果

如果想根据相关性得分 _score 来排序结果,可以在查询时指定 score ,并将其设置为 asc 或 desc 来指示升序或降序排序。

下面一个Elasticsearch查询示例演示了如何根据 _score 进行排序

GET /_search
{
  "query": {
    "match": {
      "message": "elasticsearch"
    }
  },
  "sort": [
    {
      "_score": {
        "order": "asc"
      }
    }
  ]
}

如果想使用默认的排序,不需要在查询中指定任何排序参数。
例:下面的Elasticsearch查询将使用默认的排序方式:

GET /your_index/_search
{
  "query": {
    "match": {
      "your_field": "your_query"
    }
  }
}

二,自定义排序字段

如果想要在查询中指定额外的排序条件,可以使用sort参数。
例如,如果想要按照文档的date字段排序,你可以这样写:

GET /your_index/_search
{
  "query": {
    "match": {
      "your_field": "your_query"
    }
  },
  "sort": [
    {
      "date": {
        "order": "asc"
      }
    }
  ]
}

也可以指定多个排序字段,例如:

GET /your_index/_search
{
  "query": {
    "match": {
      "your_field": "your_query"
    }
  },
  "sort": [
    {"date": {"order": "asc"}},     //第一排序
    {"_score": {"order": "desc"}}   //第二排序
  ]
}

 

标签:GET,查询,字段,score,query,排序,your,es
From: https://www.cnblogs.com/architectforest/p/18323560

相关文章

  • Spring | createBeanInstance传入的有参和 applyPropertyValues中的属性有什么关系
    基本功能createBeanInstanceBean的实例化会根据构造函数参数创建Bean的实例。构造函数参数通常是通过依赖注入提供的,这些依赖可能是其他bean或者简单的值类型applyPropertyValuesBean的属性设置在Bean实例创建后,负责将剩余的属性值注入到Bean实例中。这些属性值可能来自......
  • 求教Postgresql在jdbc处理bit(1)字段的预处理解决方案
    文章目录1.建表语句:2.使用以下方式的预处理方式都报错了3.可以先用sql拼接实现功能1.建表语句:CREATETABLEpublic.h_user( idserial4notnull, usernamevarchar(50)NULL, "password"varchar(64)NULL, nicknamevarchar(60)NULL, emailvarchar(255)N......
  • springboot+vue前后端分离项目:导出功能报错Request processing failed: cn.hutool.cor
    1.报错截图: 2.hutool官网,推荐引入poi-ooxml依赖 3.mvn仓库找到依赖 4.用最新版依赖 5.复制到本项目pom.xml,刷新maven 解决......
  • lazarus使用unidac+sqlite,用dbgrid显示float字段时遇到的问题
    遇到的问题:网友海使用过程发现,lazarus使用unidac+sqlite,用dbgrid显示float字段时遇到数据库的字段内容明明有多位小数,但在dbgrid只显示1位小数和截图最后1行显示1.1E2等问题。 在Navicat显示的表内容:这是他的解决方法: 修改UniConnection1的DataTypeMapping,将float映射为s......
  • leetcode 1555 银行账号概要(postgresql)
    需求用户表:Users±-------------±--------+|ColumnName|Type|±-------------±--------+|user_id|int||user_name|varchar||credit|int|±-------------±--------+user_id是这个表的主键。表中的每一列包含每一个用户当前的额度信息。交易......
  • leetcode 1549 每件商品的最新订单(postgresql)
    需求表:Customers±--------------±--------+|ColumnName|Type|±--------------±--------+|customer_id|int||name|varchar|±--------------±--------+customer_id是该表主键.该表包含消费者的信息.表:Orders±--------------±--------+|......
  • PostgreSQL学习笔记----GUC机制
    GUC介绍在守护进程Postmaster初始化内存环境之后,需要配置Postmaster运行时所需的各种参数。GUC(GrandUnifedConfiguralion)模块实现了多种数据类型(目前有boolean、int、real、string、enum五种)的变量配置。这些参数可能会由不同的进程在不同的时机进行配置,系统会根据......
  • [ABC318E]Sandwiches 题解
    题意给定一个序列\(A\),要求找有多少个三元组\((i,j,k)\)满足以下条件:\(1\lei<j<k\leN\)\(A_i=A_k\)\(A_i\neA_j\)思路相当于是找每两个相同的元素中有多少个不同的数字。例如:12131答案显然是4,即是\((1,2,3)(1,2,5)(1,4,5)(3,4,5)\)。用\(q[A[i]]\)......
  • MultiLabelBinarizer:inverse_transform 如何获得根据概率排序的标签列表?
    我正在做多标签分类,我使用MultiLabelBinarizer将标签列表转换为零和一。我可以使用inverse_transform获取标签,这是超级的。但是,如果我想根据类的概率对类进行排名,即概率越高,即使(仅)在其概率小于0.5的情况下,对标签的判断也越好。我怎样才能得到根据概率返回标签的排......
  • gitlab12-postgresql-主备
    gitlab-postgresql-12.3一、简介1、gitlab仅支持postgresql数据库管理系统,因此,数据库服务器有两个选项可用于linux软件包安装:使用Linux软件包安装附带的打包PostgreSQL服务器(不需要配置,推荐)使用外部postgresql服务器,(需要配置,并且需要手动为数据库设定种子)2、本章节......