ES:字符串排序,字符串按照数字排序

这篇具有很好参考价值的文章主要介绍了ES:字符串排序,字符串按照数字排序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对一个字符串类型的字段进行排序通常不准确,因为已经被分词成多个词条了

字段虽然是字符串,但是其实值是整数, 排序按照字符串转成整数排序
解决方式:对字段索引两次,一次索引分词(用于搜索),一次索引不分词(用于排序)

PUT projecy_zcy
{
  "settings": {
    "refresh_interval": "1s",
    "number_of_shards": 1,
    "number_of_replicas": 1
  },
  "mappings": {
    "properties": {
      "id": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword"   ----不分词
          },
          "keylong": {
            "type": "long"      --- 整数,用于排序
          }
        }
      },
      "projectCode": {
        "type": "text"
      },
      "projectName": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword"
          }
        }
      },
      "projectStatus": {
        "type": "keyword"
      }
    }
  }
}

期望按照字符串排序, 不分词

GET /projecy_zcy/_search
{
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "id.keyword": {
        "order": "desc"
      }
    }
  ]
}

es 字符串转数字排序,elastic,elasticsearch,大数据,搜索引擎

期望按照数字排序

GET /projecy_zcy/_search
{
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "id.keylong": {
        "order": "desc"
      }
    }
  ]
}

 es 字符串转数字排序,elastic,elasticsearch,大数据,搜索引擎文章来源地址https://www.toymoban.com/news/detail-668188.html

到了这里,关于ES:字符串排序,字符串按照数字排序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ES6类-继承-Symbol-模版字符串

    目录 类  继承 ES5 如何继承 ES6继承 Symbol 用途 可以产生唯一的值,独一无二的值 解决命名冲突 getOwnPropertySymbols()  作为全局注册表 缓存  Symbol.for()  消除魔术字符串  模版字符串 在javascript语言中,生成实例对象使用构造函数;ES6提供了类Class这个概念,作为对象的模板。定

    2024年02月16日
    浏览(49)
  • 【深入理解ES6】字符串和正则表达式

    字符串(String)是JavaScript6大原始数据类型。其他几个分别是Boolean、Null、Undefined、Number、Symbol(es6新增)。 字符串里的字符有两种: 前  个码位均以16位的编码单元表示的BMP字符(基本多文种平面。 超过  的UTF-16引入了代理对,以两个编码单元32位表示辅助平面字符。 ES5中

    2024年02月13日
    浏览(51)
  • MySQL 将字符串转换为数字类型并进行排序

    示例数据:area_gdp 表 id    area    gdp 1    北京    1200 2    上海    6100 3    广州    6000 4    深圳    980 select * from area_gdp ORDER BY gdp ASC # 查询结果如下 1    北京        1200 3    广州     6000 2    上海        6100 4    深圳     980 SELECT * FROM area_gdp OR

    2024年02月05日
    浏览(46)
  • Es索引中时间字段是字符串Range查询的正确姿势

        由于之前搞了一个使用flink-cdc将mysql表中的数据同步到es的索引中,例子中数据库中的orders表中的order_date的字段类型是datetime类型,flink-sql建表orders、enriched_orders中的order_date 字段是TIMESTAMP(0)类型,同步到es的enriched_orders索引中的order_date的类型是:     数据被同步到e

    2024年02月11日
    浏览(57)
  • 31 对集合中的字符串,按照长度降序排列

            思路:使用集合的sort方法,新建一个Comparator接口,泛型是String,重写里面的compare方法。         运行结果:          扩充:点击Comparator,查看接口内部:发现加了@FunctionalInterface,说明可以使用箭头函数,直接使用箭头函数就能表示Comparator接口以及它的compara

    2024年02月14日
    浏览(47)
  • 字符串分割(split),将字符串按照指定字符进行分割。split(String regex)和split(String regex, int limit)

    一、 split(String regex) 字符串分割,将字符串按照指定字符进行分割,返回的是一个字符串数组。 原理:参数名称是 regex 表示的是以某个字符串进行字符分割。 实例1:根据空格切割 输出结果: 实例2:根据特殊字符进行“.”分割 输出结果: 二、 split(String regex, int limit) 字符

    2024年02月11日
    浏览(52)
  • 使用v-html进行渲染如何使标签按照字符串显示,特殊样式标签(自己添加的部分)按照标签解析

    使用v-html进行渲染如何使标签按照字符串显示,特殊样式标签(自己添加的部分)按照标签解析 需求:是内容里如果含有含有www.baidu.com这种链接高亮显示 解决办法: 首先拿到需要回显的内容content对内容进行转义escapeHTML,之后再去判断是否是链接进行高亮添加 代码如下

    2024年02月16日
    浏览(44)
  • c语言字符串转数字,数字转字符串

    目录 一、字符串转数字 1. 标准库转换 atoi(),字符串转换成整型数 atol(),字符串转换成长整型数 atof()字符串转换为浮点值 atoll(),字符串转换成长长整型数 strtod(),字符串转换为浮点数  strtol(),将字符串换成长整型数 二、数字转字符串 1. 通过C语言标准库函数 itoa(),整数转换成字符

    2024年02月02日
    浏览(39)
  • 从键盘输入一个字符串,将此字符串按字符的ASCII码值从小到大排序,并显示排序后的字符串。

    题面: 字符串排序:要求编写程序,将给定字符串中的字符,按照ASCII码顺序从小到大排序后输出。 输入格式: 输入是一个以回车结束的非空字符串。 输出格式: 输出排序后的结果字符串。 输入样例: bfh3q487ybefg734 输出样例: 3344778bbeffghqy 思路: Dwl同学一开始给我的代码

    2024年02月05日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包