当前位置: 首页 > 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/a/314917.html

相关文章:

  • 论文阅读《BEVFormer v2》
  • 尽量通俗易懂地概述.Net U nity跨语言/跨平台相关知识
  • 6.2 对角化矩阵(2)
  • gpu-V100显卡相关知识
  • springboot项目中,使用ProGuard 对代码进行混淆
  • OpenHarmony4.1蓝牙芯片如何适配?触觉智能RK3568主板SBC3568演示
  • 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博客网站并发布公网远程访问