SpringDataElasticsearch查询ES进行排序时报错Fielddata is disabled on text fields by default. Set fielddata=tru

这篇具有很好参考价值的文章主要介绍了SpringDataElasticsearch查询ES进行排序时报错Fielddata is disabled on text fields by default. Set fielddata=tru。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题描述

版本:
ES:6.8.3
使用spring-data-elasticsearch操作es增删改查,进行排序操作的时候出现了一下报错:

Caused by: org.elasticsearch.ElasticsearchException: 
Elasticsearch exception [type=illegal_argument_exception, reason=Fielddata is disabled on text fields by default. 
Set fielddata=true on [receive_time] in order to load fielddata in memory by uninverting the inverted index. 
Note that this can however use significant memory. Alternatively use a keyword field instead.]

SpringDataElasticsearch查询ES进行排序时报错Fielddata is disabled on text fields by default. Set fielddata=tru,大数据,Bug,elasticsearch,搜索引擎,大数据

二、解决方法

出现这个报错的原因是由于我在查询后对text类型的字段进行了排序操作。

通过GET /索引名/_mapping查看索引的mapping映射,发现该排序的字段类型是text类型,而text类型的字段是不能进行排序和聚合操作的。

修改后:
SpringDataElasticsearch查询ES进行排序时报错Fielddata is disabled on text fields by default. Set fielddata=tru,大数据,Bug,elasticsearch,搜索引擎,大数据

//设置分页和根据创建时间降序排序  注意:page从0开始
//text字段不能用于排序和聚合 如果是text字段,则需要receive_time.keyword进行排序
PageRequest page = PageRequest.of
        (pageNum-1, pageSize, Sort.by(Sort.Order.desc("receive_time.keyword")));
Page<WarnData> data = esWarnDataRepository.search(base_query, page);

解决。文章来源地址https://www.toymoban.com/news/detail-592844.html

到了这里,关于SpringDataElasticsearch查询ES进行排序时报错Fielddata is disabled on text fields by default. Set fielddata=tru的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • ES查询时报错内容过大: entity content is too long for the configured buffer limit

    问题: ES查询时报错内容过大: java.io.IOException: entity content is too long [107162543] for the configured buffer limit [104857600] [ElasticSearch] [ERROR] 问题: ES查询时报错 entity content is too long for the configured buffer limit 原因: 单次查询内容大小太大 解决: 设置ES查询内容限制HeapBufferedResponseConsumerFactory

    2024年02月11日
    浏览(48)
  • ElasticSearch如何使用以及java代码如何查询并排序ES中的数据(距离排序)

    import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.geo.GeoDistance; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.TransportAddress; import org.elasticsearch.common.unit.DistanceUnit; import org.elasticsearch.common.unit.

    2024年04月12日
    浏览(47)
  • 25个高级SQL查询-基于特定排序标准对行进行排序

    本专栏中的许多示例将基于以下员工表(employee)。只有少数例子将以其他表格为基础;在这些情况下,表格将与示例一起进行说明。 RANK()函数是SQL中的窗口函数之一。窗口函数查看部分数据并计算该部分的结果。 RANK()函数根据提供的列为每一行指定一个等级。RANK()

    2024年02月16日
    浏览(32)
  • 【Java 进阶篇】使用 SQL 进行排序查询

    在数据库中,我们经常需要对查询的结果进行排序,以便更容易地理解和分析数据。SQL(Structured Query Language)提供了强大的排序功能,允许我们按照指定的列对数据进行升序或降序排序。本文将详细介绍如何使用 SQL 进行排序查询,包括基本的排序语法、多列排序、自定义排

    2024年02月07日
    浏览(46)
  • Es查询比较慢,翻页查询需要30-40秒,如何进行排查?

    ES查询比较慢,可能是由于以下原因导致的: 一、查询的数据量过大 :         如果数据量过大,每次查询时需要进行大量的遍历和计算,会导致查询时间变长。可以通过对索引进行优化,如添加合适的字段映射,减少不必要的字段存储来缩短查询时间。 二、索引设计不

    2024年02月11日
    浏览(43)
  • SpringBoot 整合 ES 进行各种高级查询搜索

    上一章:《ElasticSearch集群的搭建》 如果你还未安装es的相关信息,请先移步至:《ElasticSearch安装》进行安装 如果您的SpringBoot项目还未整合es,请移步至:《SpringBoot整合ElasticSearch实现模糊查询,批量CRUD,排序,分页,高亮》 同时本文的操作中涉及到ElasticSearchRepository和Ela

    2023年04月15日
    浏览(47)
  • Java查询es数据,根据指定id检索(in查询),sql权限过滤,多字段匹配检索,数据排序

    Java集成Elasticsearch,进行索引数据查询,并进行sql权限过滤,指定id检索(in查询),多字段匹配检索,数据排序。由于权限过滤是根据sql语句判断当前用户或其部门可查询的数据,所以采用以下方法: 1.通过sql过滤出当前用户可查询的数据id集合idsList; 2.将当前用户可查询的

    2024年02月22日
    浏览(65)
  • ES:先按相关性分数进行排序,分数相同时再按其他字段排序

    最近,在公司学习ES的使用,导师给了个题目,如何对一个文档先计算分数,用分数进行排序,在分数相同的情况下再按照别的字段(如时间)进行排序,为此,从来没接触过ES的我开启了艰难的学习之路 本文参考自 ES权威指南(中文版) 以下是目录: 相关性算分描述了一个

    2024年02月05日
    浏览(40)
  • SpringBoot操作ES进行各种高级查询(值得收藏)

    创建SpringBoot项目,导入 ES 6.2.1 的 RestClient 依赖和 ES 依赖。在项目中直接引用 es-starter 的话会报容器初始化异常错误,导致项目无法启动。如果有读者解决了这个问题,欢迎留言交流 为容器定义 RestClient 对象 在 yml 文件中配置 eshost 调用相关 API 执行操作 创建操作索引的对象

    2024年02月03日
    浏览(85)
  • SpringBoot集成Jpa对数据进行排序、分页、条件查询和过滤

    之前介绍了SpringBoot集成Jpa的简单使用,接下来介绍一下使用Jpa连接数据库对数据进行排序、分页、条件查询和过滤操作。首先创建Springboot工程并已经继承JPA依赖,如果不知道可以查看我的另一篇文进行学习,这里不做介绍。文章地址(https://www.cnblogs.com/eternality/p/17391141.htm

    2024年02月04日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包