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

milvus数据库-查询

与向量相似性搜索不同,向量查询通过基于布尔表达式的标量过滤来检索向量。Milvus支持许多标量字段中的数据类型和各种布尔表达式。布尔表达式过滤标量字段或主键字段,并检索与过滤器匹配的所有结果。

一、单次查询
1.加载集合
2.执行查询

# 使用集合对象的 query 方法来执行查询操作
res = collection.query(
    expr="book_id in [2,4,6,8]",  # 查询表达式,筛选满足条件的文档
    offset=0,  # 结果的偏移量,从结果中的第一个文档开始返回
    limit=10,  # 返回结果的最大数量
    output_fields=["book_id", "book_intro"]  # 指定要从查询结果中检索的字段
)

3.检查输出

sorted_res = sorted(res, key=lambda k: k['book_id'])
sorted_res

4.统计实体
在执行查询时,将输出字段设置为count(*),就会返回检索到的实体数量。此时禁用limit

res = collection.query(
  # filter entities whose ID is in the specified list
  expr="book_id in [2,4,6,8]", 
  output_fields = ["count(*)"],
)

print(res)
print(res[0])

二、查询时使用迭代器
1.使用迭代器查询

expr = "600 <= num_pages <= 700"

output_fields=[bookID, authors]

limit = 5

query_iterator = collection.query_iterator(expr, output_fields, limit)

while True:
    # turn to the next page
    res = query_iterator.next()
    if len(res) == 0:
        print("query iteration finished, close")
        # close the iterator
        query_iterator.close()
        break
    for i in range(len(res)):
        print(res[i])

2.使用迭代器搜索

vectors_to_search = rng.random((SEARCH_NQ, DIM))

search_params = {
    "metric_type": "L2",
    "params": {"nprobe": 10, "radius": 1.0},
}

search_iterator = collection.search_iterator(
    vectors_to_search,
    search_params,
    limit=5,
    output_fields=[bookID, authors]
)
                                             
while True:
    # turn to the next page
    res = search_iterator.next()
    if len(res[0]) == 0:
        print("search iteration finished, close")
        # close the iterator
        search_iterator.close()
        break
    for i in range(len(res[0])):
        print(res[0][i])


http://www.kler.cn/a/133035.html

相关文章:

  • 排序排序的概念及其运用和选择排序
  • 计算机网络 (3)计算机网络的性能
  • react 中 useEffect Hook 作用
  • Node.js GET/POST请求、WEB模块使用介绍 (基础介绍 八)
  • Python学习从0到1 day29 Python 高阶技巧 ⑦ 正则表达式
  • 海思3403对RTSP进行目标检测
  • nodejs微信小程序-慢性胃炎健康管理系统的设计与实现-安卓-python-PHP-计算机毕业设计
  • pdf如何让多张图片在一页
  • HTML 超链接 a 标签
  • Django的可重用HTML模板示例
  • 交通 | 神奇动物在哪里?Operations Research经典文章
  • 2023年道路运输企业主要负责人证考试题库及道路运输企业主要负责人试题解析
  • PostgreSQL 数据定义语言 DDL
  • QT基础入门【QSS】 伪状态,冲突解决、级联介绍
  • Linux系统编程学习 NO.9——git、gdb
  • WordPress主题WoodMart v7.3.2 WooCommerce主题和谐汉化版下载
  • 设计模式-状态模式-笔记
  • 【每日一题】—— C. Yarik and Array(Codeforces Round 909 (Div. 3))(贪心)
  • Redis学习笔记15:基于spring data redis及lua脚本发送到redis服务器多久过期
  • ClickHouse建表优化
  • 在 Streamlit 中使用自定义 CSS 创建加密仪表板
  • 如何去开发一个springboot starter
  • 数据结构初阶leetcodeOJ题(二)
  • 开源WIFI继电器之方案介绍
  • 【LeetCode】1869. 哪种连续子字符串更长
  • 【Linux】基本指令