e2e-restful.sh 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. #!/bin/bash
  2. # Exit immediately for non zero status
  3. set -e
  4. # Print commands
  5. set -x
  6. SOURCE="${BASH_SOURCE[0]}"
  7. while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
  8. DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
  9. SOURCE="$(readlink "$SOURCE")"
  10. [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
  11. done
  12. ROOT="$( cd -P "$( dirname "$SOURCE" )/../.." && pwd )"
  13. DATA_PATH="${ROOT}/tests/scripts/restful-data/"
  14. MILVUS_CLUSTER_ENABLED="${MILVUS_CLUSTER_ENABLED:-false}"
  15. MILVUS_SERVICE_NAME=$(echo "${MILVUS_HELM_RELEASE_NAME}-milvus.${MILVUS_HELM_NAMESPACE}" | tr -d '\n')
  16. MILVUS_SERVICE_ADDRESS="${MILVUS_SERVICE_NAME}:9091"
  17. # Create a collection
  18. curl -X 'POST' \
  19. "http://${MILVUS_SERVICE_ADDRESS}/api/v1/collection" \
  20. -H 'accept: application/json' \
  21. -H 'Content-Type: application/json' \
  22. -d @${DATA_PATH}/create-collection.json
  23. # Has collection
  24. curl -X 'GET' \
  25. "http://${MILVUS_SERVICE_ADDRESS}/api/v1/collection/existence" \
  26. -H 'accept: application/json' \
  27. -H 'Content-Type: application/json' \
  28. -d '{
  29. "collection_name": "book"
  30. }'
  31. # Check collection details
  32. curl -X 'GET' \
  33. "http://${MILVUS_SERVICE_ADDRESS}/api/v1/collection" \
  34. -H 'accept: application/json' \
  35. -H 'Content-Type: application/json' \
  36. -d '{
  37. "collection_name": "book"
  38. }'
  39. # Load collection
  40. curl -X 'POST' \
  41. "http://${MILVUS_SERVICE_ADDRESS}/api/v1/collection/load" \
  42. -H 'accept: application/json' \
  43. -H 'Content-Type: application/json' \
  44. -d '{
  45. "collection_name": "book"
  46. }'
  47. ### Data
  48. # Insert Data
  49. curl -X 'POST' \
  50. "http://${MILVUS_SERVICE_ADDRESS}/api/v1/entities" \
  51. -H 'accept: application/json' \
  52. -H 'Content-Type: application/json' \
  53. -d @${DATA_PATH}/insert-data.json
  54. # Build Index
  55. curl -X 'POST' \
  56. "http://${MILVUS_SERVICE_ADDRESS}/api/v1/index" \
  57. -H 'accept: application/json' \
  58. -H 'Content-Type: application/json' \
  59. -d '{
  60. "collection_name": "book",
  61. "field_name": "book_intro",
  62. "extra_params":[
  63. {"key": "metric_type", "value": "L2"},
  64. {"key": "index_type", "value": "IVF_FLAT"},
  65. {"key": "params", "value": "{\"nlist\":1024}"}
  66. ]
  67. }'
  68. # KNN Search
  69. curl -X 'POST' \
  70. "http://${MILVUS_SERVICE_ADDRESS}/api/v1/search" \
  71. -H 'accept: application/json' \
  72. -H 'Content-Type: application/json' \
  73. -d @${DATA_PATH}/search.json
  74. # Drop Index
  75. curl -X 'DELETE' \
  76. "http://${MILVUS_SERVICE_ADDRESS}/api/v1/index" \
  77. -H 'accept: application/json' \
  78. -H 'Content-Type: application/json' \
  79. -d '{
  80. "collection_name": "book",
  81. "field_name": "book_intro"
  82. }'
  83. # Release collection
  84. curl -X 'DELETE' \
  85. "http://${MILVUS_SERVICE_ADDRESS}/api/v1/collection/load" \
  86. -H 'accept: application/json' \
  87. -H 'Content-Type: application/json' \
  88. -d '{
  89. "collection_name": "book"
  90. }'
  91. # Drop collection
  92. curl -X 'DELETE' \
  93. "http://${MILVUS_SERVICE_ADDRESS}/api/v1/collection" \
  94. -H 'accept: application/json' \
  95. -H 'Content-Type: application/json' \
  96. -d '{
  97. "collection_name": "book"
  98. }'