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

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

文档

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

写入文档

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

Elasticsearch v8构建文档索引请求简单很多,可以直接接受Map数据;若用户付id,使用用户的id

批量写入文档

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

data 文档数据,服务层负责抓取,传入引擎层是Map

逻辑简单,构建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.kler.cn/news/314917.html

相关文章:

  • C++模版初阶
  • claude,gpt,通义千问
  • Java面试篇基础部分-ReentrantLock详解(二)
  • 2024最新!!!iOS高级面试题,全!(二)
  • 深度学习对抗海洋赤潮危机!浙大GIS实验室提出ChloroFormer模型,可提前预警海洋藻类爆发
  • Vue3 中组件传递 + css 变量的组合
  • 深度学习03-神经网络01-什么是神经网络?
  • QT快速安装使用指南
  • OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(二)
  • 安全热点问题
  • NCNN 源码(1)-模型加载-数据预处理-模型推理
  • MySQL深入原理
  • 【数学分析笔记】第3章第3节无穷小量与无穷大量的阶(2)
  • 国标GB28181视频融合监控汇聚平台的方案实现及场景应用
  • 机器学习和深度学习的区别:从基础到前沿
  • 35. 模型材质和几何体属性
  • Mapper核心配置文件
  • uniapp 整合 OpenLayer3
  • C++速通LeetCode中等第4题-三数之和
  • 本地快速部署一个简洁美观的个人Halo博客网站并发布公网远程访问
  • 20240918软考架构-------软考171-175答案解析
  • 数字IC设计\FPGA 职位经典笔试面试整理--语法篇 Verilog System Verilog(部分)
  • Docker修改默认的存储路径
  • 分布式锁之 防误删(优化之UUID防误删)
  • go-orm接口原生到框架
  • 小明,谈谈你对Vue nextTick的理解
  • 面试题 02.07. 链表相交 双指针
  • Unity URP APK打包物体不渲染问题
  • Leetcode42. 接雨水
  • C#(.NET FrameWork库)逆向基础流程(纯小白教程)