123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- import express from "express";
- import { CollectionsService } from "./collections.service";
- import { milvusService } from "../connect";
- const router = express.Router();
- export const collectionsService = new CollectionsService(milvusService);
- router.get("/", async (req, res, next) => {
- const type = parseInt("" + req.query?.type, 10);
- try {
- const result =
- type === 1
- ? await collectionsService.getLoadedColletions()
- : await collectionsService.getAllCollections();
- res.send(result);
- } catch (error) {
- next(error);
- }
- });
- router.get("/statistics", async (req, res, next) => {
- try {
- const result = await collectionsService.getStatistics();
- res.send(result);
- } catch (error) {
- next(error);
- }
- });
- router.post("/", async (req, res, next) => {
- const createCollectionData = req.body;
- try {
- const result = await collectionsService.createCollection(
- createCollectionData
- );
- res.send(result);
- } catch (error) {
- next(error);
- }
- });
- router.delete("/:name", async (req, res, next) => {
- const name = req.params?.name;
- try {
- const result = await collectionsService.dropCollection({
- collection_name: name,
- });
- res.send(result);
- } catch (error) {
- next(error);
- }
- });
- router.get("/:name", async (req, res, next) => {
- const name = req.params?.name;
- try {
- const result = await collectionsService.describeCollection({
- collection_name: name,
- });
- res.send(result);
- } catch (error) {
- next(error);
- }
- });
- router.get("/:name/statistics", async (req, res, next) => {
- const name = req.params?.name;
- try {
- const result = await collectionsService.getCollectionStatistics({
- collection_name: name,
- });
- res.send(result);
- } catch (error) {
- next(error);
- }
- });
- router.get("/indexes/status", async (req, res, next) => {
- try {
- const result = await collectionsService.getCollectionsIndexStatus();
- res.send(result);
- } catch (error) {
- next(error);
- }
- });
- router.put("/:name/load", async (req, res, next) => {
- const name = req.params?.name;
- try {
- const result = await collectionsService.loadCollection({
- collection_name: name,
- });
- res.send(result);
- } catch (error) {
- next(error);
- }
- });
- router.put("/:name/release", async (req, res, next) => {
- const name = req.params?.name;
- try {
- const result = await collectionsService.releaseCollection({
- collection_name: name,
- });
- res.send(result);
- } catch (error) {
- next(error);
- }
- });
- router.post("/:name/insert", async (req, res, next) => {
- const name = req.params?.name;
- const data = req.body;
- try {
- const result = await collectionsService.insert({
- collection_name: name,
- ...data,
- });
- res.send(result);
- } catch (error) {
- next(error);
- }
- });
- router.post("/:name/search", async (req, res, next) => {
- const name = req.params?.name;
- const data = req.body;
- try {
- const result = await collectionsService.vectorSearch({
- collection_name: name,
- ...data,
- });
- res.send(result);
- } catch (error) {
- next(error);
- }
- });
- export { router };
|