在elasticsearch中进行sort排序遇到的bug,bug描述如下:

"error" : {
    "root_cause" : [
      {
        "type" : "illegal_argument_exception",
        "reason" : "Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [time] in order to load field data by uninverting the inverted index. Note that this can use significant memory."
      }

.......

该问题知识记录暂时没有详细深入的了解原理,但是结局方法应该可行。

搜索语句如下:

GET test_record/_search
{
  "query": {
    "regexp": {
      "word": ".*"
    }
  },
  "sort": [
    {
      "time": {
        "order": "desc"
      }
    }
  ]
}

错误修改如下:

time换成time.keysord

通过网络发现出现此错误的可能不止sort一种,aggs也可能出现这种错误。

错误的原因是我们sort或者aggs的字段是text类型,而text类型是作为有个整体提供默认没有索引。

而使用keyword是有索引的,因此可以通过time.keyword来sort或者aggs

elasticsearch sort illegal_argument_exception error相关推荐

  1. 启动ElasticSearch报错:error updating geoip database

    问题描述: 启动ElasticSearch报错: error updating geoip database [2021-12-22T21:07:11,944][INFO ][o.e.i.g.GeoI ...

  2. elasticsearch权威指南-中文

    elasticsearch权威指南-中文 Table of Contents 1. Introduction 2. 入门 i. 是什么 ii. 安装 iii. API iv. 文档 v. 索引 vi. ...

  3. elasticsearch 9300端口连接不上_SpringBoot2.x系列教程54--SpringBoot整合ElasticSearch方式一...

    SpringBoot2.x系列教程54--NoSQL之SpringBoot整合ElasticSearch方式一 作者:一一哥 一. Elastic Search 1. Elastic Search简介 ...

  4. 如何在elasticsearch里面使用深度分页功能

    2019独角兽企业重金招聘Python工程师标准>>> 前面的文章提到过es默认的from+size的分页方式返回的结果数据集不能超过1万点,超过之后返回的数据越多性能就越低. 这是 ...

  5. 深入理解ElasticSearch(六)排序与相关性

    排序与相关性 默认情况下,返回的结果是按照 相关性 进行排序的--最相关的文档排在最前. 在本章的后面部分,我们会解释 相关性 意味着什么以及它是如何计算的, 不过让我们首先看看 sort 参数以及如 ...

  6. 【02】把 Elasticsearch 当数据库使:过滤和排序

    使用 https://github.com/taowen/es-monitor 可以用 SQL 进行 elasticsearch 的查询.本章介绍简单的文档过滤条件 exchange='nyse' S ...

  7. 【Elasticsearch】索引和查询性能调优的21条建议-以及调优参数

    文章目录 1.概述 1.Elasticsearch部署建议 1.1. 选择合理的硬件配置:尽可能使用 SSD 1.2. 给JVM配置机器一半的内存,但是不建议超过32G 1.3. 规模较大的集群配置专 ...

  8. Elasticsearch实践(二)linux安装

    首先确保环境安装了Java8 1,下载安装包 在ElasticSearch官网根据操作系统,选择需要安装的安装包,以及版本. https://www.elastic.co/downloads/elas ...

  9. ElasticSearch ---- 查询

    模拟数据创建 首先利用head差检查创建book索引 然后修改mappings配置 http方法:  post 链接地址:  http://192.168.253.129:9200/ book/nov ...

最新文章

  1. 春节囤货清单 | 15篇近期值得读的AI论文
  2. ejabberd mysql 搭建配置_ejabberd安装步骤+Mysql配置
  3. warning: ISO C++ forbids converting a string constant to ‘char*‘ [-Wwrite-strings]
  4. 为什么 Vue2 this 能够直接获取到 data 和 methods ? 源码揭秘!
  5. 一文讲透B端产品/C端产品、SaaS/PaaS/IaaS的区别
  6. 什么样的人适合自学编程?你以为你自学难是为什么?来看看答案吧!
  7. 学习生信的系列教程 | 留言您是如何学习生信的免费获取北大出版《Python数据分析》书籍...
  8. [转载] Java Challengers#1:JVM中的方法重载
  9. 大数据分析的特点都有哪些
  10. 维护IBM DB2数据库所应了解的根蒂基本常识-9
  11. 清华大学操作系统OS学习(一)——OS相关信息
  12. mysql 清除主从_mysql主从同步及清除信息
  13. Matlab之isprime与find函数
  14. 教你如何面试进入阿里巴巴!
  15. 46. 全排列:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。
  16. JS鼠标滑过图片时切换图片
  17. torch.unsqueeze(input, dim)函数
  18. webpack创建服务
  19. python运维开发招聘_GitHub - PlutoaCharon/LiunxNotes: 校招-运维开发(Liunx,Python,Golang)面试学习笔记...
  20. Makefile文件:Makefile介绍

热门文章

  1. 使用ffmpeg一行命令根据时间分割MP4文件
  2. BJ-100型矩形波导传输TE10模,测得波导中相邻两个电场波节点之间的距离为19.88mm
  3. c语言鸢尾花智能分类,基于LogisticRegression的鸢尾花分类
  4. 小白知识摘录__环境变量
  5. 【转】探秘Java中的String、StringBuilder以及StringBuffer
  6. css3圆形修边按钮
  7. Javascript访问Cookie的四个常用方法
  8. 使用 Django 的日志模块,同时发送错误邮件到163邮箱
  9. [转载] python字典查询功能_Python中的字典功能
  10. Windows 远程连接后,自动断开,所有程序都自动关闭(待验证,待更新)