网站开发的目的 实习报告/百度极速版推广员怎么申请

网站开发的目的 实习报告,百度极速版推广员怎么申请,网站开发 阿里,武汉seo主管在 Elasticsearch 中,**索引(Index)**是核心概念之一,类似于关系型数据库中的“表”。索引用于存储、组织和检索文档(Document)。以下是关于 Elasticsearch 索引的详细解析: 1. 索引的基本概念 …

在 Elasticsearch 中,**索引(Index)**是核心概念之一,类似于关系型数据库中的“表”。索引用于存储、组织和检索文档(Document)。以下是关于 Elasticsearch 索引的详细解析:


1. 索引的基本概念

  • 索引:一个索引是一个逻辑命名空间,用于存储具有相似结构的文档。例如,可以创建一个名为 products 的索引来存储所有产品信息。
  • 文档:文档是索引中的基本数据单元,以 JSON 格式存储。例如,一个产品文档可能包含 namepricedescription 等字段。
  • 类型(Type):在 Elasticsearch 6.x 及之前版本中,索引可以包含多个类型(类似于表)。但从 7.x 开始,类型已被弃用,每个索引只能包含一种类型(默认是 _doc)。
  • 分片(Shard):索引被划分为多个分片,分片是数据的物理存储单元。分片可以分布在不同的节点上,从而实现分布式存储和并行处理。
  • 副本(Replica):每个分片可以有多个副本,用于提高数据的可用性和容错性。

2. 索引的创建

es 支持动态映射(自动推断字段类型)和显式映射(手动定义字段类型)。

显式创建

PUT /products   
{"settings": {"number_of_shards": 3,"number_of_replicas": 2},"mappings": {"properties": {"name": { "type": "text" },"price": { "type": "float" },"description": { "type": "text", "analyzer": "english" },"extra": {"type": "text","index": false},"number" : {"type" : "keyword","null_value": "NULL"}}}   
}
  • 该索引名为 products,包含 3 个分片和 2 个副本。
  • 定义了5个字段:name(文本类型)、price(浮点类型)、description(文本类型,使用英文分词器)、extra(文本类型,不创建倒排索引)、number(keyword类型,通过NULL可筛选出没有手机号的文档)

筛选出number为空的文档

GET products/_search
{"query": {"match": {"number":"NULL"}}
}

动态创建(不建议)

POST /products/_doc/1   
{"name": "Laptop","price": 999.99,"description": "A powerful laptop for professionals."
}
  • Elasticsearch 会自动推断字段类型:name 和 description 为文本类型,price 为浮点类型。

动态创建的类型,与实际需要的类型可能不一致,不建议使用


3. 索引维护

查看索引

GET /products

删除索引

DELETE /products

4.索引的性能优化

  • 合理设置分片数量:分片数量过多会增加集群负担,过少会影响查询性能。
  • 使用副本提高可用性:副本可以提高数据的可用性和查询性能。
  • 优化映射:避免使用不必要的字段类型(如 keyword 用于大文本)。
  • 定期清理旧数据:使用索引生命周期管理(ILM)自动删除或归档旧数据

避免排序

将term、match转换成filter

使用score计算分数

GET /my_index/_search   
{"query": {"bool": {"must": [{ "term": { "status": "active" } },{ "match": { "description": "powerful laptop" } }]}}   
}

转换成不需要score计算分数

GET /my_index/_search   
{"query": {"bool": {"filter": [{ "term": { "status": "active" } },{ "match": { "description": "powerful laptop" } }]}}      
}      

优化排序与聚合

eager_global_ordinals 可以加速 排序、聚合

原理:global_ordinals全局序数是一种将字段值映射为连续整数的机制。例如,字段值 ["apple", "banana", "cherry"] 可能被映射为 [0, 1, 2]

默认情况下,全局序数是在查询时动态生成的。这意味着每次执行聚合或排序操作时,Elasticsearch 都需要遍历字段值并生成全局序数。

对于高基数字段(字段值种类多),生成全局序数可能会消耗大量时间和资源。

启用 eager_global_ordinals 时,Elasticsearch 会在索引刷新(Refresh)或段合并(Segment Merge)时预先生成全局序数

适用场景

  • 高基数字段
  • 频繁聚合或排序
  • 实时性要求高

缺点

  • 增加索引开销:在索引刷新或段合并时生成全局序数会增加 CPU 和内存开销。
  • 占用更多内存:全局序数需要存储在内存中,可能会增加内存使用量

启用eager_global_ordinals 

PUT /my_index   
{"mappings": {"properties": {"my_field": {"type": "keyword","eager_global_ordinals": true}}}   
}

避免不必要的字段类型

字段不创建索引

PUT /my_index   
{"mappings": {"properties": {"name": {"type": "text"},"metadata": {"type": "object","enabled": false},"description": {"type": "text","index": false}}}   
}

name 字段:正常索引,可以用于搜索。

metadata 字段:禁用整个对象的索引功能。

description 字段:禁用索引,无法用于搜索。

禁用索引后的字段特性

无法搜索:禁用索引的字段无法用于查询(如 matchterm 等)。

可以存储:字段的值仍然会存储在 _source 中,可以通过 _source 获取。

可以用于聚合:禁用索引的字段仍然可以用于聚合操作(如 termssum 等),性能会降低。

可以用于脚本:字段的值可以在脚本中使用。

禁用索引的适用场景

日志数据:某些字段(如原始日志)可能不需要搜索,但需要存储。

大文本字段:某些大文本字段(如文章内容)可能不需要搜索,但需要存储。

敏感数据:某些敏感数据(如密码、密钥)不需要索引,但需要存储。

注意事项

无法恢复索引:如果需要重新启用索引,必须重新创建索引或使用 reindex 

存储开销:禁用索引的字段仍然会占用存储空间,因为其值存储在 _source 中。

聚合性能:禁用索引的字段在聚合时可能会影响性能,因为需要从 _source 中提取数据。

不使用fielddata

索引的生命周期管理(ILM)

创建策略

PUT _ilm/policy/my_custom_policy   
{"policy": {"phases": {"hot": {"actions": {"rollover": {"max_size": "50GB","max_age": "30d"}}},"delete": {"min_age": "90d","actions": {"delete": {}}}}}
}

该策略定义了索引的生命周期:在 hot 阶段,当索引大小超过 50GB 或创建时间超过 30 天时,滚动到新索引;在 delete 阶段,当索引创建时间超过 90 天时,删除索引。

(场景:删除3年之前的数据)

 将策略绑定到索引

PUT /my_index   
{"settings": {"index.lifecycle.name": "my_custom_policy"}
}

验证是否生效

GET /my_index/_ilm/explain

其他

添加字段禁止自动创建倒排索引

dynamic的取值类型如下:

取值是否添加字段到映射是否存储字段数据是否抛出异常适用场景
true数据结构不固定,需要动态添加字段。
false数据结构固定,但需要存储未知字段。
strict--数据结构严格固定,不允许未知字段。

true: 默认,添加倒排索引、储存字段

false:只会存储字段

strict:不支持自动添加字段,需要手动维护

(建议:如果字段是动态的,需要自动映射,则使用true;否则使用strict。避免出现创建多余的映射现象。。原因:索引不容易修改,建议手动创建映射

 手动添加字段:

PUT /my_index/_mapping   
{"properties": {"age": { "type": "integer" }}
}

 

索引模板

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于策略模式的智能提示语生成器设计与实现——以Tkinter GUI开发为例

基于策略模式的智能提示语生成器设计与实现——以Tkinter GUI开发为例 一、引言:智能化时代的提示工程工具 在人工智能技术广泛应用的时代背景下,如何与AI模型进行有效交互已成为关键技能。本文介绍的"AI任务需求与提示语策略生成器"正是基于…

01 | Go 项目开发极速入门课介绍

提示: 所有体系课见专栏:Go 项目开发极速入门实战课。 你好,欢迎学习本课程。本课程是一个 Go 项目开发极速入门课程。旨在帮助刚学习完 Go 基础语法的 Go 开发者,快速掌握如何开发一个功能相对全面的 Go 项目。 根据课程设计目标…

密闭空间可燃气体监测终端:守护城市命脉,智驭燃气安全!

近年来,陕西省高度重视燃气安全,出台了一系列政策文件,旨在全面加强城镇燃气安全监管,防范化解重大安全风险。2023年,陕西省安委会印发《全省城镇燃气安全专项整治工作方案》,明确要求聚焦燃气经营、输送配…

有关Java中的多线程

学习目标 ● 掌握线程相关概念 ● 掌握线程的基本使用 ● 掌握线程池的使用 ● 了解解决线程安全方式 1.为什么要学习线程? ● 从1946年2月14日世界上第一台计算机在美国宾夕法尼亚大学诞生到今天,计算和处理的模式早已从单用户单任务的串行模式发展到了多用户多…

(2025|ICLR|厦大华为,LoSA,基于表示互信息的动态层级稀疏率,基于重构误差的秩分配)LLM 的动态低秩稀疏自适应

Dynamic Low-Rank Sparse Adaptation for Large Language Models 目录 1. 引言 1.1 关键词 2. 方法 2.1 预备知识 2.2 层级稀疏率确定 2.3 稀疏感知的秩分配 2.4 动态稀疏与适配 3. 实验 3.1 实验设置 3.2 语言建模 3.3 零样本任务 3.4 N:M 稀疏性 3.5 消融实验 …

p5.js:sound(音乐)可视化,动画显示音频高低变化

本文通过4个案例介绍了使用 p5.js 进行音乐可视化的实践,包括将音频振幅转化为图形、生成波形图。 承上一篇:vite:初学 p5.js demo 画圆圈 cd p5-demo copy .\node_modules\p5\lib\p5.min.js . copy .\node_modules\p5\lib\addons\p5.soun…

Qt开源控件库(qt-material-widgets)的编译及使用

项目简介 qt-material-widgets是一个基于 Qt 小部件的 Material Design 规范实现。 项目地址 项目地址:qt-material-widgets 本地构建环境 Win11 家庭中文版 VS2019 Qt5.15.2 (MSVC2019) 本地构建流程 克隆后的目录结构如图: 直接使用Qt Crea…

Flutter 按钮组件 TextButton 详解

目录 1. 引言 2. TextButton 的基本用法 3. 主要属性 4. 自定义按钮样式 4.1 修改文本颜色 4.2 添加背景色 4.3 修改按钮形状和边距 4.4 样式定制 5. 高级应用技巧 5.1 图标文本组合 5.2 主题统一配置 5.3 动态交互 6. 性能优化与注意事项 6.1 点击区域优化 6.…

Qt | 屏幕截图实现

01 全局截屏控件 1. 鼠标右键弹出菜单。 2. 支持全局截屏。 3. 支持局部截屏。 4. 支持截图区域拖动。 5. 支持图片另存为。 演示 点击按钮即可截图 源码: 通过网盘分享的文件:screenwidget屏幕截图 链接: https://pan.baidu.com/s/1PZfQlUXNIoZKEfEtLNV2jQ?pwd=5jsg 提…

CTFshow 【WEB入门】信息搜集 【VIP限免】 web1-web17

CTFshow 【 WEB入门】、【VIP限免】 web1 ----源码泄露 首先第一步,看源代码 web2----前台JS绕过 简单点击查看不了源代码,可以强制查看 比如 Ctrl Shift ICtrl U或者在url前加一个view-source: view-source:http://79999ca1-7403-46da-b25b-7ba9…

Spring boot3-WebClient远程调用非阻塞、响应式HTTP客户端

来吧&#xff0c;会用就行具体理论不讨论 1、首先pom.xml引入webflux依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId> </dependency> 别问为什么因为是响应式....…

写了一个二叉树构造函数和画图函数,方便debug

代码 class TreeNode(object):def __init__(self, val, leftNone, rightNone):self.val valself.left leftself.right rightdef construct_tree(nodes):if not nodes:return Noneroot TreeNode(nodes[0])queue [root]index 1while index < len(nodes):node queue.p…

QT:串口上位机

创建工程 布局UI界面 设置名称 设置数据 设置波特率 波特率默认9600 设置数据位 数据位默认8 设置停止位 设置校验位 调整串口设置、接收设置、发送设置为Group Box 修改配置 QT core gui serialport 代码详解 mianwindow.h 首先在mianwindow.h当中定义一个串口指…

使用netlify部署github的vue/react项目或本地的dist,国内也可以正常访问

提供简洁的部署流程和丰富功能&#xff0c;如自定义域名、自动构建和服务器端功能。通过连接到 Git 仓库实现持续部署&#xff0c;每次推送代码都会自动构建和发布&#xff0c;支持无服务器函数&#xff0c;允许在前端项目中实现后端逻辑&#xff0c;提供直观的用户界面来管理和…

Redis-缓存穿透击穿雪崩

1. 穿透问题 缓存穿透问题就是查询不存在的数据。在缓存穿透中&#xff0c;先查缓存&#xff0c;缓存没有数据&#xff0c;就会请求到数据库上&#xff0c;导致数据库压力剧增。 解决方法&#xff1a; 给不存在的key加上空值&#xff0c;防止每次都会请求到数据库。布隆过滤器…

刷leetcode hot100--动态规划3.12

第一题乘积max子数组[1h] emmmm感觉看不懂题解 线性dp【计划学一下acwing&#xff0c;挨个做一下】 线性动态规划 相似题解析 最长上升子序列 最大上升子序列和 最大连续子段和 乘积最大子数组_哔哩哔哩_bilibili 比较奇怪的就是有正负数和0&#xff0c;如何处理&#xff1f…

为什么大模型网站使用 SSE 而不是 WebSocket?

在大模型网站&#xff08;如 ChatGPT、Claude、Gemini 等&#xff09;中&#xff0c;前端通常使用 EventSource&#xff08;Server-Sent Events, SSE&#xff09; 来与后端对接&#xff0c;而不是 WebSocket。这是因为 SSE 更适合类似流式文本生成的场景。下面我们详细对比 SSE…

TDengine 数据对接 EXCEL

简介 通过配置使用 ODBC 连接器&#xff0c;Excel 可以快速访问 TDengine 的数据。用户可以将标签数据、原始时序数据或按时间聚合后的时序数据从 TDengine 导入到 Excel&#xff0c;用以制作报表整个过程不需要任何代码编写过程。 前置条件 准备以下环境&#xff1a; TDen…

【具身相关】legged_gym, isaacgym、rsl_rl关系梳理

【legged_gym】legged_gym, isaacgym代码逻辑梳理 总体关系IsaacGymlegged_gymrsl_rl三者的关系 legged_gym代码库介绍环境模块env 总体关系 IsaacGym Isaac Gym 是 NVIDIA 开发的一个高性能物理仿真平台&#xff0c;专门用于强化学习和机器人控制任务。它基于 NVIDIA 的 Phy…

全链条自研可控|江波龙汽车存储“双轮驱动”体系亮相MemoryS 2025

3月12日&#xff0c;MemoryS 2025在深圳盛大开幕&#xff0c;汇聚了存储行业的顶尖专家、企业领袖以及技术先锋&#xff0c;共同探讨存储技术的未来发展方向及其在商业领域的创新应用。江波龙董事长、总经理蔡华波先生受邀出席&#xff0c;并发表了题为《存储商业综合创新》的主…