milvus search api的数据结构

search api的数据结构

此api的功能是向量相似度搜索(vector similarity search)

一个完整的search例子:

服务端collection是一个hnsw类型的索引。

import random
from pymilvus import (connections,Collection,
)dim = 128if __name__ == '__main__':connections.connect(alias="default",user='',password='',host='192.168.230.71',port='19530')hello_milvus = Collection("hello_milvus")# hnsw索引的搜索参数search_param = {"metric_type": "L2","params": {"ef": 200}}search_data = [random.random() for _ in range(dim)]results = hello_milvus.search(data=[search_data],anns_field="embeddings",param=search_param,limit=5,expr=None,output_fields=['pk','book_id'],consistency_level="Eventually")print(results)

输出:

["id: 2196, distance: 12.860455513000488, entity: {'pk': 2196, 'book_id': 2196}","id: 888, distance: 15.004779815673828, entity: {'pk': 888, 'book_id': 888}","id: 2454, distance: 15.082155227661133, entity: {'pk': 2454, 'book_id': 2454}","id: 884, distance: 15.443259239196777, entity: {'pk': 884, 'book_id': 884}","id: 2058, distance: 15.52014446258545, entity: {'pk': 2058, 'book_id': 2058}"
]

SearchRequest数据结构

type SearchRequest struct {Base           *commonpb.MsgBaseDbName         stringCollectionName stringPartitionNames []stringDsl            string// serialized `PlaceholderGroup`PlaceholderGroup      []byteDslType               commonpb.DslTypeOutputFields          []stringSearchParams          []*commonpb.KeyValuePairTravelTimestamp       uint64GuaranteeTimestamp    uint64Nq                    int64NotReturnAllMeta      boolConsistencyLevel      commonpb.ConsistencyLevelUseDefaultConsistency boolSearchByPrimaryKeys   boolXXX_NoUnkeyedLiteral  struct{}XXX_unrecognized      []byteXXX_sizecache         int32
}

Dsl ??

PlaceholderGroup ??

DslType ??

nq:number of query

ConsistencyLevel:一致性级别

const (ConsistencyLevel_Strong     ConsistencyLevel = 0ConsistencyLevel_Session    ConsistencyLevel = 1ConsistencyLevel_Bounded    ConsistencyLevel = 2ConsistencyLevel_Eventually ConsistencyLevel = 3ConsistencyLevel_Customized ConsistencyLevel = 4
)

使用Strong一致性级别搜索速度会很慢。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

从数据结构可以看出,search的时候可以指定partition。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/799409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VUE 实现路由的基本原理

路由 基本概念 在前端技术早期,所有页面的跳转通过更改url,浏览器页面刷新获取新的页面内容,这种粗糙的交互方式,一直等待优化。 后来,改变发生了——Ajax 出现了,它允许人们在不刷新页面的情况下发起请求&#xff0…

Django检测到会话cookie中缺少HttpOnly属性手工复现

一、漏洞复现 会话cookie中缺少HttpOnly属性会导致攻击者可以通过程序(JS脚本等)获取到用户的cookie信息,造成用户cookie信息泄露,增加攻击者的跨站脚本攻击威胁。 第一步:复制URL:http://192.168.43.219在浏览器打开,…

17、子矩阵的和(含源码)

子矩阵的和 题目描述 输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1, y1, x2, y2,表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数n,m&…

基于java JSP 实现的固定资产管理系统

开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea 系统展示 前台首页功能模块 固…

1.8.2 卷积神经网络近年来在结构设计上的主要发展和变迁——VGGNet

1.8.2 卷积神经网络近年来在结构设计上的主要发展和变迁——VGGNet 前情回顾:1.8.1 卷积神经网络近年来在结构设计上的主要发展和变迁——AlexNet VGGNet出现在2014年的ILSVRC上,单个模型就将图像分类任务的Top-5错误率降低到8.0%;如果采用多…

Spring: 后端状态码如何与http状态码保持一致

文章目录 一、背景二、解决方案 一、背景 今天使用postman在做接口测试的时候发现了一个有趣的问题:响应体的status和http的status一样,出于好奇对该现象进行了总结。 二、解决方案 通过拦截器ResponseBodyAdvice,做到统一拦截 Controll…

day03 51单片机

51单片机学习 1 模块化编程 1.1 什么是模块化编程 随着我们的代码越来越复杂,我们的main.c越来越长,阅读性也越来越差。如果将来开始做项目,我们可能要同时操作好几个模块,这种情况下我们无法再把代码写到同一个文件,而是要分模块管理代码。 具体实现方法,就是将源码…

WPF —— 后台实现fromto动画实例

标签页 <Button Width"100"Height"40"Content"点击开始动画"Click"Button_Click"Name"b1"> </Button><!--HorizontalAlignment"Left"--><!--VerticalAlignment"Top添加这俩个属性的目…

三防平板定制服务:亿道信息与个性化生产的紧密结合

在当今数字化时代&#xff0c;个性化定制已经成为了市场的一大趋势&#xff0c;而三防平板定制服务作为其中的一部分&#xff0c;展现了数字化技术与个性化需求之间的紧密结合。这种服务是通过亿道信息所提供的技术支持&#xff0c;为用户提供了满足特定需求的定制化三防平板&a…

YOLOV8 + 双目测距

YOLOV8 双目测距 1. 环境配置2. 测距流程和原理2.1 测距流程2.2 测距原理 3. 代码部分解析3.1 相机参数stereoconfig.py3.2 测距部分3.3 主代码yolov8-stereo.py 4. 实验结果4.1 测距4.2 测距跟踪4.3 测距跟踪分割4.4 视频展示 相关文章 1. YOLOv5双目测距&#xff08;python&…

matlab/simulink仿真全合集---电力电子的simulink仿真

simulink仿真新手大礼包&#xff0c;共整理了9份simulink仿真模型&#xff0c;每一份都是完美运行&#xff0c;适合电气工程专业/电力电子专业的新手学习。 1、Boost电路 simulink 仿真&#xff0c;boost 电路模块搭建和用传递函数进行验证&#xff0c; 电流开环控制 、电流闭…

Jackson(json) 与其他格式数据的转换

目录 第一章、Jackson 介绍1.1&#xff09;Jackson 依赖导入1.2&#xff09;转义字符介绍介绍 第二章、Jackson 与其他格式数据的转换2.1&#xff09;其他数据转为JSON格式数据&#xff08;生成JSON&#xff09;①对象转json&#xff0c;比如我有一个user对象②list转json③map…

内存管理机制SLAB

1. 为什么需要内存分配管理&#xff1f;为什么需要SLAB&#xff1f; 在学习c语言时&#xff0c;我们常常会使用到malloc()去申请一块内存空间&#xff0c;用于存放我们的数据&#xff0c;这是代码层面的语言 如果我们想要关心malloc这个命令向系统发出后&#xff0c;系统会做什…

解决 VSCode 编辑器点击【在集成终端中打开】出现新的弹框

1、问题描述 在 VSCode 的项目下&#xff0c;鼠标右键&#xff0c;点击【在集成终端中打开】&#xff0c;出现新的一个弹框。新版的 VSCode 会有这个问题&#xff0c;一般来说我们都希望终端是在 VSCode 的控制台中打开的&#xff0c;那么如何关闭这个弹框呢&#xff1f; 2、解…

室友打团太吵?一条命令让它卡死

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;更多干货&#xff0c;请关注专栏《网络安全自学教程》 SYN Flood 1、hping3实现SYN Flood1.1、主机探测1.2、扫描端…

【java】BIO、NIO、AIO

BIO 同步阻塞IO&#xff0c;使用BIO读取数据时&#xff0c;线程会阻塞住&#xff0c;并且需要线程主动去查询是否有数据可读&#xff0c;并且需要处理完一个Socket之后才能处理下一个Socket 在这种模型下&#xff0c;每个 I/O 操作都会阻塞当前线程&#xff0c;直到操作完成才…

文本识别 OCR 解决方案

Capture2Text 便携式 OCR 工具 Capture2Text 能够使用键盘快捷键快速对屏幕的一部分进行 OCR。 默认情况下&#xff0c;生成的文本将保存到剪贴板。支持中文、英文、法文、德文、日文、韩文、俄文、西班牙文等 90 多种语言。 Capture2Text 是便携式工具&#xff0c;不需要安装…

SqlServer 全文索引

在SQL Server中&#xff0c;全文检索功能可以使用CONTAINS或FREETEXT函数进行查询。以下是使用这些函数的基本示例&#xff1a; 1、使用CONTAINS函数&#xff1a; SELECT * FROM table_name WHERE CONTAINS(column_name, search_term); 2、使用FREETEXT函数&#xff1a; SE…

数据库引论:4、使用E-R模型的数据库设计

4.1 设计过程概览 图1 开发数据库应用包含的任务 真实世界 ⇒ \Rightarrow ⇒概念模型 ⇒ \Rightarrow ⇒逻辑模型 ⇒ \Rightarrow ⇒物理模型 数据库设计&#xff1a; 概念设计(Conceptual design)&#xff1a; 用一个概念模型描述物理世界的一个主体 逻辑设计(Logical desi…

42.基于SpringBoot + Vue实现的前后端分离-服装销售平台管理系统(项目 + 论文)

项目介绍 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的交换和信息流通显得特别重要。因此&#xff0c;开发合适的服装销售平台成为企业必然要走的一步棋。开发合适的服…