qdrant学习之文件参数配置

qdrant配置文件内容:
{"params":“vectors": "text-dense":{ "size" :768," distance” :" Cosine” ,hnsw_config":{ “m" :32" ef_construct" :128}))," shard _number" :2,"replication_factor" :1'write consistency factor" :1" on disk payload" :true," sparse_vectors" :{ “text-sparse" :{“index”:})},"hnsw config":{“m” :16," ef construct" :100,"full scan threshold" :10000," max indexing threads" :0," on disk" :false}"optimizer config" :{ "deleted threshold" :0.2," vacuum min vector number" :1000,default segment number" :0," max segment size" :null," memmap threshold" :null,indexing threshold" :20000," flush interval sec" :5," max optimization threads" :1)"wal config":{"wal capacity mb" :32" wal segments ahead" :0}"quantization config”:null}

一些重要参数与解读
size:存储vector的维度,目前知识库已经基本建立,如果不出大问题就不做修改。hnsw_config.m:插入向量后与已有的图所产生的边的最大数量(邻居数量),数量多方便精准搜索但是资源消耗增加(邻居的数量)
hnsw_config.ef_construct:构建图时,会搜索最近邻然后产生边,该参数定义了构建图时所搜索的节点数量。(找邻居)
shard_numeber:colletion所含的分片数量,shard可以帮助qdrant将数据进行分散存储,切多shard可以提高qdrant查询的并行能力,shard还可以将collection中的数据进行隔离,保证一定程度的安宅。
replication factor:shard的副本数量,目前我们是0副本,这很危险,如果数据损坏无法恢复,且shard的副本同样也可以提升检索的效率,但是损耗资源。
write_consistency_factor:指定写入操作必须写入多少的副本才认为该操作是成功的。
hnsw_config.ful_scan_threshold:在一定范围内,什么搜索算法搜不如暴力全搜索,所以没有超过
这个数值,qdrant会选择暴力搜索。
hnsw config.on disk:是否将索引存储在磁盘
optimizer_config.deleted threshold:对于一个segment,当其中的向量删除的阈值为20%
qdrant会对该segment进行优化,可能是合并?
optimizer_config.vacuum_min_vector_number:当一个segment中的向量数量超过这个数,就会启
用vacuum优化,标记删除从而减少iooptimizer_config.max_segment number:超过这个数值,会自动合并最小的segmentoptimizer_config.memmmp threshold:超过这个数值的向量(Kilobytes?)会存储在磁盘
optimizer_config.indexing threshold:超过这个数值会使用vetor_indexing

### Qdrant 数据库简介 Qdrant 是一种高效的向量搜索引擎,专为大规模数据集设计,支持快速的相似度搜索操作[^1]。它不仅能够处理高维向量空间中的复杂查询,还提供了灵活的数据过滤选项以及强大的扩展能力。 --- ### 安装与配置指南 #### 1. **安装方法** Qdrant 提供多种安装方式,包括 Docker、二进制文件和源码编译等方式。以下是基于 Docker 的安装示例: ```bash docker run -p 6333:6333 \ -v $(pwd)/qdrant_storage:/qdrant/storage \ qdrant/qdrant:v1.1.2 ``` 上述命令会启动一个本地运行的 Qdrant 实例,并将其存储目录挂载到当前路径下的 `qdrant_storage` 文件夹中[^2]。 #### 2. **基本配置** 默认情况下,Qdrant 使用端口 `6333` 进行通信。可以通过修改环境变量来自定义其行为,例如调整内存分配或启用日志记录功能。具体参数可参考官方文档。 --- ### Python SDK 示例代码 以下是一个完整的 Python 脚本示例,展示如何连接至 Qdrant 并执行向量搜索任务: ```python from qdrant_client import QdrantClient import numpy as np # 初始化客户端 client = QdrantClient(url="http://localhost:6333") # 创建集合 collection_name = "example_collection" vector_size = 5 client.recreate_collection( collection_name=collection_name, vector_size=vector_size, distance="Cosine", ) # 插入数据点 points = [ {"id": 1, "vector": [0.1, 0.2, 0.3, 0.4, 0.5], "payload": {"color": "red"}}, {"id": 2, "vector": [-0.1, -0.2, -0.3, -0.4, -0.5], "payload": {"color": "blue"}} ] client.upsert(collection_name=collection_name, wait=True, points=points) # 执行搜索 query_vector = [0.1, 0.2, 0.3, 0.4, 0.5] hits = client.search( collection_name=collection_name, query_vector=query_vector, limit=2 ) for hit in hits: print(f"Payload: {hit.payload}, Score: {hit.score}") ``` 此脚本展示了创建集合、插入数据点并进行向量搜索的过程。 --- ### 常见问题解答 - 如果遇到性能瓶颈,建议优化索引结构或增加硬件资源配置。 - 对于分布式部署场景,需额外关注节点间同步机制及网络延迟影响。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值