搜图引擎Javasdk

groot 093abe3b11 Add sync parameter for loadCollection/loadPartitions/createIndex (#1332) 1 month ago
.github a14f8e93cd Split to 2 packages (#1224) 4 months ago
doc 96874ab954 Update doc (#1035) 8 months ago
examples 48613dc010 External function example for SearchIteratorV2 (#1329) 1 month ago
sdk-bulkwriter c8bf0b7cdd BulkWriter supports nullable/default_value (#1312) 2 months ago
sdk-core 093abe3b11 Add sync parameter for loadCollection/loadPartitions/createIndex (#1332) 1 month ago
tests 493f0b6eea add and modify testcases for sdk v2 (#1292) 3 months ago
.gitignore 1044dc68d9 Change example code path (#1295) 2 months ago
.gitmodules a14f8e93cd Split to 2 packages (#1224) 4 months ago
CHANGELOG.md 1e947d453c Prepare for v2.5.5 (#1321) 1 month ago
CODE_REVIEW.md d041eef7f7 Add code review.md (#216) 3 years ago
CONTRIBUTING.md 38971b3c3c add CONTRIBUTING.md 5 years ago
DEVELOPMENT.md a14f8e93cd Split to 2 packages (#1224) 4 months ago
LICENSE d986181d72 Initial commit 5 years ago
OWNERS 166b8381de Add maintainer member (#327) 2 years ago
README.md 1e947d453c Prepare for v2.5.5 (#1321) 1 month ago
docker-compose.yml 977de37c9b Support HNSW_PQ/HNSW_SQ/HNSW_PRQ (#1300) 2 months ago
pom.xml 1e947d453c Prepare for v2.5.5 (#1321) 1 month ago

README.md

Milvus Java SDK

Maven Central

Java SDK for Milvus. To contribute to this project, please read our contribution guidelines first.

Getting started

Prerequisites

-   Java 8 or higher
-   Apache Maven or Gradle

The following table shows compatibilities between Milvus and Java SDK.

Milvus version Java SDK version
2.0 2.0.4
2.1 2.1.0-beta4
2.2.0 ~ 2.2.8 2.2.0 ~ 2.2.5
>= 2.2.9 2.2.7 ~ 2.2.15
2.3.x 2.3.11
2.4.x 2.4.10
2.5.x 2.5.5

Install Java SDK

You can use Apache Maven or Gradle add Milvus SDK to your project.

  • Apache Maven

        <dependency>
            <groupId>io.milvus</groupId>
            <artifactId>milvus-sdk-java</artifactId>
            <version>2.5.5</version>
        </dependency>
    
  • Gradle/Groovy

    ```groovy
    implementation 'io.milvus:milvus-sdk-java:2.5.5'
    ```
    
  • Gradle/Kotlin

    ```kotlin
    implementation("io.milvus:milvus-sdk-java:2.5.5")
    ```
    

From v2.5.2, milvus Java SDK is split into two packages: milvus-sdk-java and milvus-sdk-java-bulkwriter, because BulkWriter requires quite a lot of dependencies. If you don't need BulkWriter tool, you can ignore the milvus-sdk-java-bulkwriter package. To use BulkWriter, import milvus-sdk-java-bulkwriter to your project.

  • Apache Maven

     <dependency>
         <groupId>io.milvus</groupId>
         <artifactId>milvus-sdk-java-bulkwriter</artifactId>
         <version>2.5.5</version>
     </dependency>
    
  • Gradle/Groovy

     implementation 'io.milvus:milvus-sdk-java-bulkwriter:2.5.5'
    
  • Gradle/Kotlin

     implementation("io.milvus:milvus-sdk-java-bulkwriter:2.5.5")
    

Examples

Please refer to examples folder for Java SDK examples.

Documentation

Troubleshooting

  • If you encounter the following error when running your application:

    Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    

    This is because SLF4J jar files need to be added into your application's classpath. SLF4J is required by Java SDK for logging purpose.

To fix this issue, you can use Apache Maven or Gradle to download the required jar files.

- Apache Maven

    ```xml
     <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-api</artifactId>
         <version>1.7.30</version>
     </dependency>
    ```

- Gradle/Groovy

     ```groovy
     compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30'
     ```
- Gradle/Kotlin

    ```kotlin
    implementation("org.slf4j:slf4j-api:1.7.30")
    ```