当前位置:   article > 正文

Milvus入门手册1.0_milvus中文文档

milvus中文文档

一、window环境搭建(单机)

1、docker安装

2、milvus安装

参考文档:https://milvus.io/docs/install_standalone-docker.md

tips:

(1)compose.yaml下载比较慢,可以在网络上找一份。

(2)windows运行milvus命令为:

docker compose up -d

Docker容器中看到milvus即为安装成功:

(3)默认安装的milvus是关闭用户鉴权的,线上肯定是开启的,本地开启鉴权步骤如下:

docker容器:milvus-->standalong-->Files-->milvus-->configs-->milvus.yaml,修改配置项:common.security.authorizationEnabled为true,然后重启服务:

Tips:默认用户名密码为root/Milvus

3、Attu安装

官网下载安装包

https://github.com/zilliztech/attu/releases

下载后直接点击安装即可。

Tips:下载失败可以多重试几次,或者网络资源也可以。

3.1、连接milvus

链接端口为19530,默认安装的milvus用户鉴权是关闭的,所以用户名密码为空直接连接即可:

milvus有默认数据库default,链接成功页面如下:

Tips:

milvus支持两个端口:

  1. Milvus supports two ports, port 19530 and port 9091:
  2. Port 19530 is for gRPC and RESTful API. It is the default port when
  3. you connect to a Milvus server with different Milvus SDKs or HTTP clients.
  4. Port 9091 is for metrics collection, pprof profiling, and health probes
  5. within Kubernetes. It serves as a management port.

3.2、库/角色/集合

可以创建其他数据库,同时创建不同的角色(默认有root和public角色),如读写角色:

二、Milvus数据类型

1、主键字段类型:

INT64

VARCHAR

创建集合必须包含一个主键字段和向量字段,主键字段仅支持INT64和VarChar

2、向量字段类型:

Binary Vector

Float Vector

3、其他字段类型:

Int8

Int16

Int32

Float

Double

Boolean

VarChar

JSON

Tips:

其他参数:

Enable Dynamic Schema:支持动态模式:在支持动态模式情况下,Milvus可以插入Schema中未定义的数据;如果不支持动态模式,Milvus插入数据必须和Schema中定义的数据结构一致。

Consistency:用于指定Milvus一致性方案。Milvus一致性有四个级别:

一致性级别

说明

Strong

强一致性,最高级别一致性,但对应延迟会增加,适用于金融交易系统等。

Boluned staleness

有界一致性,部分时间点不一致但全局一致。

Session

会话级别,会话期间读写一致。

Eventually

最低级别的一致性要求,以“最终一致性”为前提。

三、Java&Milvus

1、连接milvus:

1.1 引入pom依赖:

  1. <!-- milvus -->
  2. <!-- https://mvnrepository.com/artifact/io.milvus/milvus-sdk-java -->
  3. <dependency>
  4. <groupId>io.milvus</groupId>
  5. <artifactId>milvus-sdk-java</artifactId>
  6. <version>2.3.3</version>
  7. </dependency>

1.2 链接测试:

  1. ConnectParam connectParam = connectParam = ConnectParam.newBuilder()
  2. .withHost("127.0.0.1")
  3. .withPort(19530)
  4. .withAuthorization("root", "Milvus")
  5. .withDatabaseName("default")
  6. .build();
  7. MilvusServiceClient milvusClient = null;
  8. try {
  9. milvusClient = new MilvusServiceClient(connectParam);
  10. R<CheckHealthResponse> response = milvusClient.checkHealth();
  11. if (response != null && response.getStatus() != null && 0 == response.getStatus()) {
  12. return true;
  13. }
  14. } catch (Exception e) {
  15. log.error("Milvus testConnect error, e={}", e);
  16. } finally {
  17. if (milvusClient != null) {
  18. milvusClient.close();
  19. }
  20. }

Tips:

response.status参见io.milvus.param.R.class:

  1. public enum Status {
  2. Success(0),
  3. UnexpectedError(1),
  4. ConnectFailed(2),
  5. PermissionDenied(3),
  6. CollectionNotExists(4),
  7. IllegalArgument(5),
  8. IllegalDimension(7),
  9. IllegalIndexType(8),
  10. IllegalCollectionName(9),
  11. IllegalTOPK(10),
  12. IllegalRowRecord(11),
  13. IllegalVectorID(12),
  14. IllegalSearchResult(13),
  15. FileNotFound(14),
  16. MetaFailed(15),
  17. ......
  18. IllegalResponse(-6);
  19. }

2、创建集合

  1. //代码引用自官方文档
  2. FieldType fieldType1 = FieldType.newBuilder()
  3. .withName("book_id")
  4. .withDataType(DataType.Int64)
  5. .withPrimaryKey(true)
  6. .withAutoID(false)
  7. .build();
  8. FieldType fieldType2 = FieldType.newBuilder()
  9. .withName("word_count")
  10. .withDataType(DataType.Int64)
  11. .build();
  12. FieldType fieldType3 = FieldType.newBuilder()
  13. .withName("book_intro")
  14. .withDataType(DataType.FloatVector)
  15. .withDimension(2)
  16. .build();
  17. CreateCollectionParam createCollectionReq = CreateCollectionParam.newBuilder()
  18. .withCollectionName("book")
  19. .withDescription("Test book search")
  20. .withShardsNum(2)
  21. .addFieldType(fieldType1)
  22. .addFieldType(fieldType2)
  23. .addFieldType(fieldType3)
  24. .withEnableDynamicField(true)
  25. .build();

tips:

一个集合包含至少一个分区,创建分区时,milvus会创建一个默认分区,名为:_default

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/487333
推荐阅读
相关标签
  

闽ICP备14008679号