zoukankan      html  css  js  c++  java
  • ElasticSearch 排序

      1、相关性排序

        ElasticSearch为了按照相关性来排序,需要将相关性表示为一个数值,在 Elasticsearch 中, 相关性得分 由一个浮点数进行表示,并在搜索结果中通过 _score 参数返回, 默认排序是 _score 降序。

    GET /index_china/fulltext/_search
    {
      "query": {
        "match": {
          "name": "小张"
        }
      }
    }

        

      2、按照字段排序

        有时,按照相关性评分排序并没有意义,下面的例子通过年龄来对 name 进行排序是有意义的,按照年龄排序,可以使用 sort 参数进行实现:

        

    GET /index_china/fulltext/_search
    {
      "query": {
        "match": {
          "name": "小张"
        }
      },
      "sort":  "age"
    }

        默认是按照年龄升序

        

        

        下面是安装年龄降序

    GET /index_china/fulltext/_search
    {
      "query": {
        "match": {
          "name": "小张"
        }
      },
      "sort": { "age": { "order": "desc" }}
    }

        

       3、多级排序

        用 age 和 _score 进行查询,并且匹配的结果首先按照年龄排序,然后按照相关性排序

    GET /index_china/fulltext/_search
    {
      "query": {
        "match_all": {}
      },
      "sort":[ {"age":{"order":"asc"}},
      {"_score":{"order":"desc"}}]
        
    }

        

  • 相关阅读:
    jQuery Ajax通用js封装
    java校验导入的模板
    一条sql查出数据库某张表的所有属性
    封装SpringJdbcTemplate
    ehCache 配置
    使用mybatis自动实现接口封装返回结果集
    js打开新窗口并且居中显示
    单例模式读取配置文件只创建一次
    递归
    函数声明,函数表达式
  • 原文地址:https://www.cnblogs.com/shaosks/p/7542076.html
Copyright © 2011-2022 走看看