文档
文档服务负责写入,包括批量;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获取文档,删除,批量删除不介绍