schema.service.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { Injectable } from '@nestjs/common';
  2. import {
  3. CreateIndexReq,
  4. DescribeIndexReq,
  5. DropIndexReq,
  6. GetIndexBuildProgressReq,
  7. GetIndexStateReq,
  8. } from '@zilliz/milvus2-sdk-node/dist/milvus/types';
  9. import { throwErrorFromSDK } from 'src/utils/Error';
  10. import { MilvusService } from '../milvus/milvus.service';
  11. @Injectable()
  12. export class SchemaService {
  13. constructor(private milvusService: MilvusService) {}
  14. get milvusClient() {
  15. return this.milvusService.milvusClientGetter;
  16. }
  17. async createIndex(data: CreateIndexReq) {
  18. const res = await this.milvusClient.createIndex(data);
  19. throwErrorFromSDK(res);
  20. return res;
  21. }
  22. async describeIndex(data: DescribeIndexReq) {
  23. const res = await this.milvusClient.describeIndex(data);
  24. if (res.status.error_code === 'IndexNotExist') {
  25. return res;
  26. }
  27. throwErrorFromSDK(res.status);
  28. return res;
  29. }
  30. async dropIndex(data: DropIndexReq) {
  31. const res = await this.milvusClient.dropIndex(data);
  32. throwErrorFromSDK(res);
  33. return res;
  34. }
  35. async getIndexState(data: GetIndexStateReq) {
  36. const res = await this.milvusClient.getIndexState(data);
  37. throwErrorFromSDK(res.status);
  38. return res;
  39. }
  40. async getIndexBuildProgress(data: GetIndexBuildProgressReq) {
  41. const res = await this.milvusClient.getIndexBuildProgress(data);
  42. throwErrorFromSDK(res.status);
  43. return res;
  44. }
  45. }