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

Milvus向量数据库(一)Milvus存储byte[]类型源向量数据

两种路线:

  • 第一种是把byte[]转换为List< float >,然后存储到Milvus的floatVector中
  • 第二种是把byte[]转换为ByteBuffer,然后存储到Milvus的BinaryVector中

步骤:

  • 我先用的是第一种,但是在转换float过程中,报错NaN,某些数据无法转换,于是换第二种,伪代码如下
	//创建集合...//设置向量字段FieldType fieldType = FieldType.newBuilder().withName("feature").withDataType(DataType.BinaryVector).withDimension(8256).build();...// 获取数据byte[] featureData= ...;// 转换数据ByteBuffer byteBuffer = ByteBuffer.wrap(featureData);// 注意这里修改position,不然会报错byteBuffer.position(byteBuffer.capacity());// 插入准备List<ByteBuffer> vector = new ArrayList<>();vector.add(byteBuffer);List<InsertParam.Field> fields = new ArrayList<>();fields.add(new InsertParam.Field("feature",vector));// 插入数据InsertParam insertParam = InsertParam.newBuilder().withCollectionName(collection_name).withFields(fields).build();R<MutationResult> mutationResultR = milvusClient.insert(insertParam);

报错:Incorrect dimension for field ‘feature’: the no.0 vector’s dimension: 0 is not equal to field’s dimension: 1032

  • 解决思路:先百度谷歌,然后没找到解决办法,于是看报错位置,查源码,定位报错原因,如下
    在这里插入图片描述
  • 然后发现byte[]在经过ByteBuffer byteBuffer = ByteBuffer.wrap(featureData);这段代码转换时,position被默认设置为0,因此加入byteBuffer.position(byteBuffer.capacity());修改position值
  • 还有需要注意的是设置该字段的向量维度时,需要设置为byte[]的长度乘以8
http://www.lryc.cn/news/342223.html

相关文章:

  • Jupyter Notebook魔术命令
  • python基础---生成器
  • wangEditor 富文本详解
  • 文献速递:深度学习医学影像心脏疾病检测与诊断--从SPECT/CT衰减图中深度学习冠状动脉钙化评分提高了对重大不良心脏事件的预测
  • Java多线程:常见的线程的创建方法及Thread类详解
  • 一招搞定生产管理
  • 学习CSS3,实现红色心形loading特效
  • 深度学习之基于Matlab神经网络的活体人脸和视频人脸识别系统
  • 充电桩测试:负载箱的重要性
  • 贪心算法、Dijkstra和A*类路径搜索算法
  • Debian是什么?有哪些常用命令
  • 万兴PDF专家 PDFelement Pro v10.3.8 破姐版!
  • Ubuntu22.04 私钥登录
  • Java_JVM_JVMs
  • Linux系统编程之基本指令
  • [1702]java旅游资源网上填报系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • 【Flask 系统教程 3】请求与响应
  • jsp校园商城派送系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • 【Linux】System V 共享内存
  • 拼多多标准推广怎么玩
  • HFSS学习-day2-T形波导的优化设计
  • 贪吃蛇小游戏(c语言)
  • 多商户Docker Supervisor进程管理器部署
  • Vue--》从零开始打造交互体验一流的电商平台(一)
  • uniapp 自定义相机插件(组件版、缩放、裁剪)组件 Ba-CameraView
  • 如何在Python中生成随机密码?
  • 【Git管理工具】使用Docker+浪浪云服务器部署GitLab服务器
  • 速盾:什么是cdn架构
  • spring高级篇(十)
  • map、set底层封装模拟实现(红黑树)