【Elasticsearch系列廿二】特殊参数

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
    • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

      • 1.max_shards_per_node
      • 2.python api
      • 3.fuzziness
      • 4.\_score
      • 5.minimum_should_match
      • 6.embedding_dim

1.max_shards_per_node

在 Elasticsearch 中,max_shards_per_node是一个集群级别的设置,用于限制每个节点上可以打开的最大分片数。这个设置有助于防止单个节点上分片数量过多,从而可能导致性能问题或资源耗尽。默认情况下,Elasticsearch 集群的每个节点可以有 1000 个分片,但这个数字可以根据需要进行调整。

临时设置:

PUT /_cluster/settings
{"transient": {"cluster": {"max_shards_per_node": 10000}}
}

永久设置:


PUT /_cluster/settings
{"persistent": {"cluster": {"max_shards_per_node": 10000}}
}

2.python api

# 指定参数分页查询
from elasticsearch import Elasticsearch
es = Elasticsearch()
query = {"query": {"match_all": {}}
}
response = es.search(index="db01_v1_20240903", body=query, from_=0, size=10)

3.fuzziness

在 Elasticsearch 中,fuzziness 是一个用于模糊查询的参数,它允许在搜索时指定一个编辑距离,即允许用户输入与索引中的单词有一定差异的查询词,依然能够匹配到相应的文档。这个参数主要用于处理用户输入错误或拼写变体的情况。

fuzziness 可以设置为以下值:

  1. 数值:如 012,表示允许的最大编辑操作次数。数值越大,匹配的结果可能会越多,但同时查询性能可能会下降。
  2. AUTO:这是一个特殊的设置,它会根据查询词的长度自动调整编辑距离。通常,对于长度小于等于 2 的词,编辑距离设置为 0;长度在 3 到 5 之间的词,编辑距离设置为 1;长度大于 5 的词,编辑距离设置为 2。这个设置可以通过 AUTO:[low],[high] 的格式进行自定义,其中 lowhigh 分别表示词长范围的下限和上限。

例如,如果你想要在搜索时允许一个编辑错误,可以这样设置:

{"query": {"match": {"field": {"query": "search_term","fuzziness": 1}}}
}

或者使用 AUTO

{"query": {"match": {"field": {"query": "search_term","fuzziness": "AUTO"}}}
}

需要注意的是,模糊查询虽然可以提高用户体验,但可能会对性能产生影响,因为它需要额外的处理来生成和匹配可能的变体词。因此,在性能敏感的应用中应谨慎使用。

4._score

{"took": 1,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 2,"relation": "eq"},"max_score": 2.137549,"hits": [{"_index": "book","_type": "_doc","_id": "3","_score": 2.137549,"_source": {"name": "spring开发基础","description": "spring 在java领域非常流行,java程序员都在用。","studymodel": "201001","price": 88.6,"timestamp": "2019-08-24 19:11:35","pic": "group1/M00/00/00/wKhlQFs6RCeAY0pHAAJx5ZjNDEM428.jpg","tags": ["spring", "java"]}},{"_index": "book","_type": "_doc","_id": "2","_score": 0.57961315,"_source": {"name": "java编程思想","description": "java语言是世界第一编程语言,在软件开发领域使用人数最多。","studymodel": "201001","price": 68.6,"timestamp": "2019-08-25 19:11:35","pic": "group1/M00/00/00/wKhlQFs6RCeAY0pHAAJx5ZjNDEM428.jpg","tags": ["java", "dev"]}}]}
}

结果分析:

  • 建立索引时, description 字段 term 倒排索引

    • java 2,3

    • 程序员 3

  • 搜索时,直接找 description 中含有 java 的文档 2,3,并且 3 号文档含有两个 java 字段,一个程序员,所以得分高,排在前面。2 号文档含有一个 java,排在后面。

5.minimum_should_match

minimum_should_match 是 Elasticsearch 中布尔查询(Boolean Query)的一个重要参数,它用来指定在执行查询时,should 子句至少应该匹配的子句数量或百分比。这个参数可以是具体的数字,也可以是百分比,或者它们的组合。

  1. 具体数字:如果 minimum_should_match 设置为一个整数,它表示至少需要匹配的 should 子句的数量。例如,如果有 4 个 should 子句,设置为 2 意味着文档必须至少满足其中的 2 个子句。

  2. 百分比:如果设置为百分比,它表示至少需要匹配的 should 子句的百分比。例如,如果有 6 个 should 子句,设置为 “50%” 意味着至少需要匹配 3 个子句(6 的 50%向下取整)。

  3. 组合使用:可以使用百分比和固定值的组合,如 “3<90%”,表示至少需要匹配 3 个子句或总数的 90%(以较大者为准)。

  4. 默认值:如果 bool 查询包含至少一个 should 子句,而没有 must 或 filter 子句,则 minimum_should_match 的默认值为 1。这意味着至少有一个 should 子句需要匹配。如果 bool 查询中包含 must 或 filter 子句,则 minimum_should_match 的默认值为 0,意味着 should 子句可以不满足任何条件。

  5. 特殊语法:可以使用特殊的语法来更精确地控制匹配条件,例如 “2<-25% 9<-3”,这表示如果有 1 或 2 个子句,则都需要匹配;如果有 3-9 个子句,则需要匹配除了 25%之外的所有子句;如果有 9 个以上的子句,则需要匹配除了三个之外的所有子句。

这个参数的使用可以根据查询的具体需求来调整,以达到最佳的查询结果和性能平衡。正确使用 minimum_should_match 可以提高查询的准确性和召回率,使得搜索结果更加符合用户的预期。

6.embedding_dim

在 Elasticsearch 中,embedding_dim是一个与向量搜索相关的参数,它指定了存储在dense_vector字段中的向量的维度。这个参数在创建索引时定义,并用于指定向量字段的维度大小。当索引设置为 true 时,embedding_dim的值不能超过 1024,当索引设置为 false 时,可以不超过 2048。这个值必须与后续写入的向量维度一致。

embedding_dim参数直接影响搜索结果,因为它决定了文档向量在向量空间中的表示。在进行向量搜索时,Elasticsearch 会使用这个参数来计算查询向量与文档向量之间的相似度。例如,使用余弦相似度或欧几里得距离等度量标准来找到与查询向量最相似的文档向量。如果embedding_dim设置不正确,可能会导致搜索结果的相关性降低,因为向量之间的比较可能不准确。

在实际应用中,embedding_dim的选择取决于所使用的机器学习模型生成的向量维度。例如,如果使用 BERT 模型生成的向量是 768 维的,那么在 Elasticsearch 中创建索引时,embedding_dim应该设置为 768,以确保文档向量可以正确存储和检索。

例如,如果你使用 BERT 模型、GloVe、Word2vec 或者 ChatGPT Embedding API 等将文本转换为向量,你需要在创建索引时指定dims参数,其值应与生成的向量维度相匹配。这样,Elasticsearch 就可以正确地存储和索引这些向量,以便进行高效的相似度搜索。

在实际应用中,embedding_dim参数的使用可以帮助实现语义搜索,通过比较查询向量和文档向量的相似度来检索文档,从而提供更加相关和准确的搜索结果。这种基于向量的搜索方法可以用于各种应用场景,如图像搜索、音乐推荐、文本分类等。

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149048.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Kafka系列之:安装使用kafka_exporter详细步骤

Kafka系列之:安装使用kafka_exporter详细步骤 一、kafka_exporter二、下载kafka_exporter三、理解Topic Metrics指标四、理解Consumer Groups Metrics指标五、启动kafka_exporter六、查看页面七、systemctl托管服务一、kafka_exporter kafka_exporter源码kafka_exporter下载页…

企业智能培训新方案,高效打造金牌员工

标品市场竞争激烈&#xff0c;小微企业因长期专注于非标业务或者偏定制化路线&#xff0c;在团队专业能力与大型企业间存在显著差距。专业人才短缺、培养成本高企、培训滞后、效果难测、资源不均、考核标准不一及知识转化率低等问题&#xff0c;成为其业务转型的绊脚石。 如何高…

Java项目: 基于SpringBoot+mybatis+maven师生共评的作业管理系统(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven师生共评的作业管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、…

Python办公自动化案例:实现XMind文件转换成Excel文件

案例:实现XMind文件转换成Excel文件 将XMind文件转换为Excel文件的过程可以通过几个步骤来实现,主要涉及到读取XMind文件,解析其内容,然后创建一个Excel文件并将解析的内容写入。以下是一个简化的Python脚本,展示了如何使用xmindparser库来解析XMind文件,并使用pandas库…

虚拟现实技术在相亲交友中的应用未来趋势

随着虚拟现实&#xff08;VR&#xff09;技术的不断进步&#xff0c;它已经开始渗透到我们生活的方方面面&#xff0c;其中包括相亲交友领域。相亲交友网站作为人们寻找另一半的重要平台&#xff0c;也在积极探索VR技术的应用可能性。本文将探讨VR技术在未来相亲交友网站上的几…

球体检测系统源码分享

球体检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

2024年双十一有哪些值得买?这些好物来看看!

2024年双十一有哪些值得入手的好物&#xff1f;在这个全民共享的购物盛宴里&#xff0c;我们精心挑选了一系列好物&#xff0c;旨在为您的生活添彩加温。从科技尖货到日常百货&#xff0c;从时尚潮流到家居必备&#xff0c;每一分每一秒都蕴含着超值优惠与惊喜发现。不论是自我…

无人机视角下的车辆数据集

车辆数据集 无人机视角下的车辆数据集。数据集为无人机俯拍的真实场景下的车辆机动车数据集。数据集已经标注好&#xff0c;yolo格式&#xff0c;txt标签。数据集已经划分好训练集&#xff08;20970张图片&#xff09;验证集&#xff08;5242张图片&#xff09;测试集&#xff…

峟思:山洪灾害监测预警系统全面解析

在自然灾害频发的今天&#xff0c;山洪灾害以其突发性强、破坏力大而备受关注。为了有效预防和减少山洪灾害带来的损失&#xff0c;山洪灾害监测预警系统应运而生。本文将详细介绍该系统的主要组成部分、关键传感器及其工作机制&#xff0c;以期为防灾减灾工作提供有力支持。 山…

影响RPA流程稳定运行的若干因素|实在RPA研究

RPA发展现状 当前&#xff0c;中国正处于实现高质量发展、数字化转型升级的关键时期。RPA作为数字化转型的一项重要工具&#xff0c;已经开始在许多领域发挥积极作用。 RPA&#xff08;Robotic Process Automation 机器人流程自动化&#xff09;是一种通过软件机器人自动执行…

路劲单伟彪:不乐观、不悲观,不藏着、不掖着

路劲单伟彪&#xff1a;不乐观、不悲观&#xff0c;不藏着、不掖着_简篇-美篇工作版 9月10日&#xff0c;史上超强台风“摩羯”已逐渐远离香港&#xff0c;天空开始放晴。在香港屯门凯和山&#xff0c;路劲集团主席单伟彪时隔一年再一次接受凤凰网专访。 对话自然从这一年的市场…

为什么自学python那么难?

在科技日新月异的今天&#xff0c;编程能力已成为一项备受追捧的技能。仿佛一夜之间&#xff0c;各种编程学习资源如雨后春笋般涌现&#xff0c;让人眼花缭乱。然而&#xff0c;许多人投身于自学编程的行列&#xff0c;却往往在半路折戟沉沙。究竟是什么原因让自学编程变得如此…

远程监控电脑屏幕用什么软件?8款真实好用的远程监控电脑屏幕软件推荐!

远程监控电脑屏幕是现代企业管理、远程协作以及家庭安全中的重要需求。 为了满足这一需求&#xff0c;市场上涌现出了多款功能强大、操作便捷的远程监控软件。 以下是8款真实好用的远程监控电脑屏幕软件推荐&#xff1a; 1. 安企神软件 特点&#xff1a;此软件专为企业设计&…

骨传导耳机哪个牌子好?深度解析五大高销量骨传导耳机!

在快节奏的现代生活中&#xff0c;耳机已成为我们不可或缺的伴侣&#xff0c;无论是在通勤路上、健身时还是日常工作中&#xff0c;它都能为我们提供音乐、通话和信息的即时接入。随着科技的发展&#xff0c;耳机的种类也日益丰富&#xff0c;其中骨传导耳机以其独特的声音传导…

恢复数据解决方案 :因意外删除而丢失重要数据的痛苦急救方法

您是否因意外删除 iOS 设备上的重要文件而丢失了文件&#xff1f;您听说过Geekersoft iPhone 数据恢复工具吗&#xff1f;Geekersoft iPhone 数据恢复工具提供了恢复丢失数据的完美解决方案。此 iOS 数据恢复工具具有多种恢复模式&#xff0c;可恢复已删除的文件。 全球许多用…

老包莫名被暂停、删除?Google Play审核这些坑你踩了吗?

相信很多开发者都经历过这样的“晴天霹雳”&#xff1a;自己辛辛苦苦维护多年的应用&#xff0c;突然之间被Google Play暂停或直接删除&#xff0c;理由是“欺骗行为”。收到这样的邮件&#xff0c;开发者往往是一脸懵逼&#xff0c;尤其是那些在架时间长、老老实实运营的“老包…

测试3个月,成功入职 “字节”,我的面试心得总结!

今天来给大家讲一下软件测试工程师的面试一些技巧、建议&#xff0c;以及你们在面试过程中需要做的一些准备、注意事项。 很多的小伙伴在刚刚学习完软件测试后就要面临一个问题&#xff1a;就业找工作。找工作要面临的第一件事儿就是面试&#xff0c;很多小伙伴对面试完全是模糊…

进阶SpringBoot之分布式系统与 RPC 原理

分布式系统是若干独立计算机的集合&#xff0c;这些计算机对于用户来说就像单个相关系统 分布式系统是由一组通过网络进行通信&#xff0c;为了完成共同的任务而协调工作的计算机节点组成的系统 其目的是利用更多的机器&#xff0c;处理更多的数据 RPC&#xff08;Remote Pr…

两数之和、三数之和、四数之和

目录 两数之和 题目链接 题目描述 思路分析 代码实现 三数之和 题目链接 题目描述 思路分析 代码实现 四数之和 题目链接 题目描述 思路分析 代码实现 两数之和 题目链接 LCR 179. 查找总价格为目标值的两个商品 - 力扣&#xff08;LeetCode&#xff09; 题目…

文心快码太牛啦

在工作中遇到这种重复性的文本处理&#xff0c;可以使用问心快码帮助提升工作效率&#xff0c;把自己从重复劳动中解放出来。在写代码的时候也可以使用问心快码&#xff0c;比如&#xff1a; 1、每次对函数进行命名的时候就很头疼&#xff0c;能否出一个函数命名的快捷入口&…