当前位置: 首页 > news >正文

搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(三)-文档

文档

文档服务负责写入,包括批量;id获取文档;nested写入

写入文档

写入文档主要是构建IndexRequest,索引请求

Elasticsearch v8构建文档索引请求简单很多,可以直接接受Map数据

批量写入文档

批量操作可以融合增删改不同的操作,但在实际操作一般是同类型,没有混合操作,onesearch api设计为同类型操作批量

data 文档数据,服务层抓取

逻辑简单,构建Operation,代表一个操作; 构建BulkRequest请求

文档写入操作与构建单个写入请求类似,支持Map,并可识别nested,很方便

写入nested文档

场景那节介绍了nested mapping,一般用于扩展字段

文档数据上看,nested是Map的value类型是Map或者List,服务层解释schema对nested字段处理,其他同一般文档写入没区别

上图是文档写入的结果,extras内嵌多个key/value,若要增加扩展属性使用更新文档字段接口

更新文档字段

更新文档的字段,试想一下mysql文档的状态变更,相应更新搜索引擎状态,只需更新该字段,无需整个文档和内容重新获取,elasticsearch部分更新功能需要索引source属性设为true,即保留文档json,该功能也可以用于更新扩展属性

构建UpdateRequest,实际支持多个字段,这里封装弱化了功能

批量更新文档字段

批量更新文档字段

构建UpdateAction->构建BulkOperation->构建BulkRequest

其他

Id获取文档,删除,批量删除不介绍


http://www.mrgr.cn/news/31736.html

相关文章:

  • 【C/C++】速通涉及string类的经典编程题
  • YOLOv9改进,YOLOv9主干网络替换为RepViT (CVPR 2024,清华提出,独家首发),助力涨点
  • 直播音频解决方案
  • Python 二级考试
  • VulnHub-Narak靶机笔记
  • 【学习笔记】STM32F407探索者HAL库开发(四)F103时钟系统配置
  • 从一个文本文件中挑选出符合条件的内容行
  • Go-知识-定时器
  • numpy 求矩阵的特征值和特征向量
  • 【python设计模式7】行为型模式2
  • 【全网最全】2024华为杯数学建模CDEF题完整思路+代码+数据处理+参考文章
  • (undone) 学习语音学中关于 i-vector 和 x-vector
  • HTTP 协议介绍
  • OpenAI o1-preview和o1-mini现已在 GitHub Copilot和GitHub Models中提供
  • 揭露大模型本质,大模型入门必看的12本书!看完我直接跪了
  • 多图片上传功能
  • 分布式事务详细笔记:什么是分布式事务--Seata--XA模式--AT模式
  • 漫步者头戴式耳机哪个型号好?热门主流头戴式耳机专业深度评测
  • Python使用总结之FastAPI使用和配置详解(一)
  • 关于 电子专业 投简历的那点事