index.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import express from "express";
  2. import { SchemaService } from "./schema.service";
  3. import { milvusService } from "../milvus";
  4. const router = express.Router();
  5. const schemaService = new SchemaService(milvusService);
  6. router.post("/index", async (req, res, next) => {
  7. const { type, collection_name, extra_params, field_name } = req.body;
  8. try {
  9. const result =
  10. type.toLocaleLowerCase() === "create"
  11. ? await schemaService.createIndex({
  12. collection_name,
  13. extra_params,
  14. field_name,
  15. })
  16. : await schemaService.dropIndex({ collection_name, field_name });
  17. res.send(result);
  18. } catch (error) {
  19. next(error);
  20. }
  21. });
  22. router.get("/index", async (req, res, next) => {
  23. const data = "" + req.query?.collection_name;
  24. try {
  25. const result = await schemaService.describeIndex({ collection_name: data });
  26. res.send(result);
  27. } catch (error) {
  28. next(error);
  29. }
  30. });
  31. router.get("/index/progress", async (req, res, next) => {
  32. const data = "" + req.query?.collection_name;
  33. try {
  34. const result = await schemaService.getIndexBuildProgress({
  35. collection_name: data,
  36. });
  37. res.send(result);
  38. } catch (error) {
  39. next(error);
  40. }
  41. });
  42. router.get("/index/state", async (req, res, next) => {
  43. const data = "" + req.query?.collection_name;
  44. try {
  45. const result = await schemaService.getIndexState({ collection_name: data });
  46. res.send(result);
  47. } catch (error) {
  48. next(error);
  49. }
  50. });
  51. export { router };