ES中问题

ElasticSearch如何使用以及java代码如何查询并排序ES中的数据(距离排序) 既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。//获取排序的距离,index为排序的位置。//从ES中查询数据。 阅读详情

1 使用精确查询

使用QueryBuilders.termQuery()查询时,字段的数据类型可以是keyword,也可以是text但必须指定分词策略(例如:“ik_max_word"),注意这有坑。

例如,(1)在ES中使用QueryBuilders.termQuery("name", "雷锋网")搜索字段name中含有“雷锋网”的数据;

如果name字段的数据类型是"keyword",能够搜索出”雷锋网“数据;

如果name字段的数据类型是“text”,不能搜出”雷锋网“数据;

 

(2)在ES中使用QueryBuilders.termQuery("name", "雷锋")搜索字段name的内容;

如果name字段的数据类型是"keyword",不能够搜索出”雷锋网“数据;

如果name字段的数据类型是“text”,能搜出”雷锋网“数据;

因为keyword类型不分词,ES搜索的时候能够精确匹配到“雷锋网”;但是text类型,字段的内容会被分词为“雷锋”和“网”,则精确匹配无法找到“雷锋网”

 

2 ES中的sort排序

ES中使用searchSourceBuilder.sort("name", SortOrder.DESC)时,如果name字段是text类型必须开启 fielddata,而keyword可以直接用来排序,数值类型、日期类型的也可以直接排序。如果使用sort排序默认的排序方法将无效。

"name":{

"type": "text",

"fielddata": true

}

 

3 搜索特定时间的内容

使用searchSourceBuilder,.sort(new FieldSortBuilder("date").order(SortOrder.DESC))降序排序,排序规则会使用date字段的日期排序,此时使用boolQueryBuilder.filter(QueryBuilder.rangeQuery("date").gte(startYear).lte(endYear))会有坑。

例如:ES数据库里有较多的2016-2020年的数据,如果startYear=2016-01-01,endYear=2018-12-30,按照分页查询,可能搜索不到数据;如果startYear=2020-01-01,endYear=2020-12-30能搜索到数据,因为数据按照日期降序排序,数据的权重顺序从2020-2016,2020年的顺序靠前,所以第二种情况可以查到。根本原因是ES查询的时候,先依据sort排序,然后,才使用filter进行的查询

ES QueryBuilder学习 public void test() throws IOException { # 创建一个Search 对象 SearchRequest searchRequest = new SearchRequest(); # 创建一个Builder 对象 对条件进行封装 SearchSourceBuilder searchS... 阅读详情

相关推荐

【Elasticsearch】ElasticSearch 7.8 多字段权重排序

1.概述 转载并且补充:https://mp.weixin.qq.com/s/0g86s-o7kgn8ZUxA3UBc0w 请看原文 读者提问:ES 的权重排序有没有示列,参考参考? 刚好之前也稍微接触过,于是写了这篇文章,可以简单参考下。 在很多复杂的业务场景下,排序的规则会比较复杂,单一的降序,升序无法满足日常需求。不过 ES 中提供了给文档加权重的方式来排序,还是挺好用的。 首先初始化三条测试数据,方便查看效果: POST score-test/_doc { "id": 1, "title":

九师兄 4033

Elasticsearch之排序解析(十二)

在默认情况下,ES对搜索结果是按照相关性降序排序的。有时需要按照某些字段的值进行升序或者降序排序。ES提供了sort子句可以对数据进行排序。使用sort子句一般是按照字段信息进行排序,不受相关性影响,而且打分步骤需要耗费一定的硬件资源和时间,因此默认情况下,不对文档进行打分。使用sort排序分为两种类别,一种是按照字段值的大小进行排序,另一种是按照给定地理坐标的距离远近进行排序。...

ntzzzsj的博客 5291

【Elasticsearch】es查看有问题的索引或者分片

1.概述 转载:https://blog.youkuaiyun.com/UbuntuTouch/article/details/108973356 当es集群我们可以使用如下的命令来对集群进行查看: GET _cluster/health?level=indices 上面的命令可以让我们定位到到底是哪一个或者哪一些索引有问题。 上面的命令显示的结果为: 从上面我们可以看出来 restored_logs_4 这个索引是有问题的。它显示的状态为 red,也即是红色。 我们也可以对 shard 进行查询: GET _c.

九师兄 3722

elasticsearch java api条件查询、排序、分页

elasticsearch java api条件查询、排序、分页

liaomingwu的专栏 3594

Intel RealSense D435 深度相机详解

Intel RealSense D435 深度相机是 Intel 推出的一款基于深度感知技术的相机,广泛应用于机器人、无人机、增强现实(AR)、虚拟现实(VR)、3D扫描、智能监控等领域。D435 是 RealSense 系列中较为高端的深度相机之一,结合了深度传感和 RGB 摄像技术,为用户提供高精度的深度数据和高质量的图像捕捉能力。

crasher123的博客 2944

使用 Visual Studio Code 搭建 SAP UI5 本地开发环境

工欲善其事,必先利其器。时至今日,SAP 提供了非常多的 SAP UI5 开发工具,既包含本地搭建的,也包含浏览器里远端使用的工具,比如 WebIDE 和 Business Application Studio. 我们访问下面这个链接,就能找到所有这些工具的安装或者配置步骤: https://tools.hana.ondemand.com/#sapui5 如果想选择本地开发,SAP 推荐的工具是 Visual Studio Code,也就是本文要介绍的内容。 也可以下载 WebIDE 的本地安装包,将其安

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1万+

ElasticSearch通过es-head插件安装可视化及相关问题

在从github下载的es环境包里elasticsearch-7.8.0\config的elasticsearch.yml,最后两行加上。在下载的es-head插件文件中找到Gruntfile.js,加上hostname:'*'在_site/app.js中找到this.base_uri,修改为。http://localhost:9200就是本地的地址,重启后。就可以在可视化连接到本地,可能会存在延迟,建议多重启几次。建议使用vscode启动,并安装好node.js环境。就可以看到本地添加的es库。

Ronion123的博客 1025

2023华为od机试C卷【启动多任务排序】C++ 实现

一个应用启动时,会有多个初始化任务需要执行,并且任务之间有依赖关系,例如A任务依赖B任务,那么必须在B任务执行完成之后,才能开始执行A任务。现在给出多条任务依赖关系的规则,请输入任务的顺序执行序列,规则采用贪婪策略,即一个任务如果没有依赖的任务,则立刻开始执行,如果同时有多个任务要执行,则根据任务名称字母顺序排序。

MISAYAONE的博客 887

ES问题解决:Elasticsearch health check failed

今天给测试环境安装ES,启动服务报出奇异bug 运行环境 spring boot : 2.1.2.RELEASE spring-data-elasticsearch :3.1.4.RELEASE elasticsearch: 6.6.1 问题描述 使用 spring data elasticsearch 来连接使用 elasticsearch, 配置如下: 1 2 3 4 5 ...

CharlesYooSky的博客 3万+

海外购物商城源码 带即时通讯IM源码

在海外购物商城中,即时通讯IM源码可以为用户提供更便捷、高效的沟通方式,帮助解决跨国交易中的语言和文化差异问题。总之,即时通讯IM源码在海外购物商城中扮演着重要的角色,可以为用户提供更方便、高效的沟通方式,解决跨国交易中的语言和文化差异问题。(购买本专栏可免费下载栏目内所有资源不受限制,持续发布中,需要注意的是,本专栏为批量下载专用,并无法保证某款源码或者插件绝对可用,介意不要购买)实时翻译:即时通讯IM源码提供实时翻译功能,能够快速准确地翻译不同语言之间的文字、语音、视频等信息,帮助用户克服语言障碍。

很酷的站长的博客 259

Fiori Elements Analytical List Page 标题区配置全攻略:从变体、过滤模式到 UI.KPI 的工程化落地

ALP标题区是Fiori Elements Analytical List Page的核心交互区域,承担变体管理、过滤模式切换、KPI展示等关键功能。本文系统解析了标题区的组成结构、可用能力及工程实现要点,包括:1)标题区包含过滤类型切换、全局KPI、变体管理等交互元素;2)详细说明视觉过滤与紧凑过滤的同步规则及实现方式;3)介绍OData V2下通过UI.KPI注解配置标题区KPI的方法;4)提供manifest.json配置示例和CDS注解写法。文章还对比了V2与V4版本的差异,为ALP开发提供实用指导

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 245

关于ElasticSearch以及ES和数据库同步问题

ElasticSearch是一个基于Lucene的分布式、高性能全文搜索和分析引擎,常被用于处理大规模结构化和非结构化数据。它具备强大的搜索、分析、聚合能力,广泛应用于日志分析、监控系统、商品搜索引擎等场景。

Daoxifu的博客 4861

谁在 SAP 系统里说了算:事务码 SCC4 与 SE06 的分工、优先级与实战管控

SAP系统通过SE06和SCC4两套机制控制变更权限:SE06作为系统级"总闸"管理跨Client对象修改,SCC4作为Client级"分闸"控制Client内配置变更。两者存在明确优先级,SE06的全局设置优先于SCC4。当SE06设为"不可修改"时,即使SCC4开放也无法更改跨Client对象。实际项目中需同时检查两处设置,并遵循"最小开放"原则进行变更管理。这种分层设计既满足日常维护需求,又能实现严格的变更管控。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 229

【ES】Elasticsearch常见问题与日常随笔(持续更新)

Elasticsearch (ES) 是一个强大的开源搜索和分析引擎,广泛用于全文搜索、日志和数据分析等场景。由于其复杂性,用户可能会遇到各种问题。

慕白Lee的博客 5786

基于若依的ruoyi-nbcio-plus支持VForm3表单字段数据保存到数据库的一种方法——全网首创(一)

基于若依的ruoyi-nbcio-plus支持VForm3表单字段数据保存到数据库的一种方法——全网首创(一)

宁波阿成的博客 660

爬虫面试:关于爬虫破解验证码的13个经典面试题

​解释:验证码是一种用于区分人类用户和自动化程序(如爬虫)的技术,通常通过显示图形、文字或音频等方式,要求用户完成特定任务(如识别扭曲的字母、点击特定区域等)。​作用:防止恶意爬虫滥用网站资源、进行批量注册、登录破解等行为,保护网站的安全性和数据的完整性。

数据知道的博客 1万+

ES安装的详细步骤、ES的集群搭建以及ElasticSearch安装时可能出现的问题

ElasticSearch,基于lucene的全文检索服务器,ES安装的详细步骤以及ElasticSearch安装时可能出现的问题

weixin_66479402的博客 3628

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【ElasticSearch】关于es跨域的问题

本文目录一、使用es的head插件二、其他说明在使用es的head插件时,默认的9100,需要访问es的默认端口9200时,会出现跨域问题,此时只需要修改一下es的配置文件即可。在elasticsearch.yml中添加开启跨域的配置: 说明:如果在使用 elasticsearch-head 还是存在跨域的问题,则可以在elasticsearch.yml配置文件继续追加配置 完结!

No8g攻城狮的博客 4432

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

[Elasticsearch] ES更新问题踩坑记录

不要忽视一个看起来貌似是一个小的问题,其背后有一定的设计、原理在里面代码关键处加一些有意义且清晰的日志是非常必要的, 可以提高解决问题的效率排查问题就像破案,要有耐心找到一个个关键线索,最终破案. 现实工作中解决问题的能力非常重要。

2401_85763997的博客 553

搜索引擎ES相关问题

搜索引擎ES相关问题

inexaustible的博客 435

【ES】--Elasticsearch的深度分页/内存超限等问题

(2)、查询的内容太大,超过内存限制,报错:entity content is too long [138159637] for the configured buffer limit [104857600]----解决: 设置ES查询内容限制HeapBufferedResponseConsumerFactory。(3)、如何提高ES搜索的内容?ES搜索是有分词功能,为了返回高精度的内容,要设置最低分数。对于ES搜索,往往会有一系列的问题。

寻梦友的博客 1266

[ES]ElasticSearch强转日期的时区问题

ES默认UTC时区导致时间日期数据问题,不能采用强转,应当使用时间日期函数,否则时区参数不生效

古辛博格 1058

elasticsearch-head 插件安装部署、启动ES集群报错以及head插件无法连接ES集群等问题

我们大家在搭建ES集群的时候通常喜欢用head插件进行前台可视化的查询等操作。可是在部署es集群后启动集群以及用这个plugin连接集群时总会有些问题

gaofeng的博客 2398

java入es阻塞问题,Elasticsearch上遇到的部分问题及处理

elasticsearch-0.90.3/bin/plugin -install mobz/elasticsearch-head上面的命令会把 elasticsearch-head插件装到你的环境里访问http://192.168.40.105:9200/_plugin/head/可以使用 curl 命令发送请求来查看 ES 是否接收到了数据:# curl ‘http://localhost:92...

weixin_33301143的博客 792
上一篇: js实现中英文合并排序
下一篇: 使用kibana实现ES简单搜索
MasonYyp
博客等级 码龄9年 301粉丝 297原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值