Java
我们已正式发布新的 Java v6 客户端。
与之前的 v5 客户端 API 相比,v6 客户端引入了根本性的变化。我们建议切换到 v6 客户端,因为 v5 客户端将不再支持新的 Weaviate 功能。
最新的 Java v6 客户端版本是 v6.0.0。
此页面广泛介绍了 Weaviate Java 客户端 (v6 beta 版本)。有关不特定于 Java 客户端的使用信息,例如代码示例,请参阅 操作指南和指南 中的相关页面。
安装
<dependency>
<groupId>io.weaviate</groupId>
<artifactId>client6</artifactId>
<version>6.0.0</version>
</dependency>
Uber JAR🫙
如果您使用类似 maven-assembly-plugin 的工具构建 uber-JAR,请使用带有分类器 all 的阴影版本。这可确保正确解析 io.grpc 的所有动态加载依赖项。
<dependency>
<groupId>io.weaviate</groupId>
<artifactId>client6</artifactId>
<version>6.0.0</version>
<classifier>all</classifier>
</dependency>
要求:Weaviate 版本兼容性 & gRPC
入门
如果您尚未这样做,我们建议您首先完成 快速入门教程,以便充分利用本节。
使用此 Java 示例开始使用 Weaviate。该代码将引导您完成以下关键步骤
- 连接到 Weaviate:建立到本地(或 Cloud)Weaviate 实例的连接。
- 创建集合:定义
Question集合的数据模式,使用 Ollama 模型对数据进行向量化。 - 导入数据:获取示例 Jeopardy 问题,并使用 Weaviate 的批量导入进行高效摄取和自动向量嵌入生成。
- 搜索/查询数据库:执行向量搜索,以查找与查询
biology语义相似的问题。
// Connect to a local Weaviate instance
client = WeaviateClient.connectToLocal();
if (client.collections.exists(collectionName)) {
client.collections.delete(collectionName);
}
// Create a collection with
client.collections.create(
collectionName,
col -> col.properties(Property.text("answer"),
Property.text("question"),
Property.text("category"))
.vectorConfig(VectorConfig.text2vecTransformers()) // Configure the Contextionary embedding model
);
CollectionHandle<Map<String, Object>> questions = client.collections.use(collectionName);
HttpClient httpClient = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI
.create("https://raw.githubusercontent.com/weaviate-tutorials/quickstart/main/data/jeopardy_tiny.json"))
.build();
HttpResponse<String> responseHttp = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
String responseBody = responseHttp.body();
ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, String>> data = objectMapper.readValue(responseBody, new TypeReference<>() {
});
// Create a list to hold the objects for insertion
List<Map<String, Object>> questionsToInsert = new ArrayList<>();
// Populate the list with the data
for (Map<String, String> d : data) {
Map<String, Object> properties = new HashMap<>();
properties.put("answer", d.get("Answer"));
properties.put("question", d.get("Question"));
properties.put("category", d.get("Category"));
questionsToInsert.add(properties);
}
// Call insertMany with the list of objects
InsertManyResponse insertResponse = questions.data.insertMany(questionsToInsert.toArray(new Map[0]));
// Check for errors
if (!insertResponse.errors().isEmpty()) {
System.err.println("Errors during insertMany: " + insertResponse.errors());
}
// Perform a vector similarity search
var queryResponse = questions.query.nearText("biology", q -> q.limit(2));
for (var obj : queryResponse.objects()) {
System.out.println(obj.properties());
}
有关更多代码示例,请查看 操作手册和指南 部分。
异步使用
即将推出
发布版本
转到 GitHub 发布页面,以查看 Java 客户端库发布的历史记录和变更日志。
点击此处查看 Weaviate 和相应客户端版本的表格
此表列出了最新的五个 Weaviate 数据库版本和相应的客户端库版本。
| Weaviate 数据库 (GitHub) | 首次 发布日期 | Python (GitHub) | TypeScript/ JavaScript (GitHub) | Go (GitHub) | Java (GitHub) |
|---|---|---|---|---|---|
| 1.35.x | 2025-12-17 | 4.19.x | N/A | N/A | N/A |
| 1.34.x | 2025-11-05 | 4.18.x | 3.10.x | 5.6.x | 6.0.0 |
| 1.33.x | 2025-09-25 | 4.17.x | 3.9.x | 5.5.x | 5.5.x |
| 1.32.x | 2025-07-14 | 4.16.x | 3.8.x | 5.3.x | 5.4.x |
| 1.31.x | 2025-05-30 | 4.15.x | 3.6.x | 5.2.x | 5.3.x |
| 1.30.x | 2025-04-03 | 4.12.x | 3.5.x | 5.1.x | 5.2.x |
| 1.29.x | 2025-02-17 | 4.11.x | 3.4.x | 5.0.x | 5.1.x |
旧版本发布
| Weaviate 数据库 (GitHub) | 首次 发布日期 | Python (GitHub) | TypeScript/ JavaScript (GitHub) | Go (GitHub) | Java (GitHub) |
|---|---|---|---|---|---|
| 1.28.x | 2024-12-11 | 4.10.x | 3.3.x | 4.16.x | 5.0.x |
| 1.27.x | 2024-10-16 | 4.9.x | 3.2.x | 4.16.x | 5.0.x 4.9.x |
| 1.26.x | 2024-07-22 | 4.7.x | 3.1.x | 4.15.x | 4.8.x |
| 1.25.x | 2024-05-10 | 4.6.x | 2.1.x | 4.13.x | 4.6.x |
| 1.24.x | 2024-02-27 | 4.5.x | 2.0.x | 4.10.x | 4.4.x |
| 1.23.x | 2023-12-18 | 3.26.x | 1.5.x | 4.10.x | 4.4.x |
| 1.22.x | 2023-10-27 | 3.25.x | 1.5.x | 4.10.x | 4.3.x |
| 1.21.x | 2023-08-17 | 3.22.x | 1.4.x | 4.9.x | 4.2.x |
| 1.20.x | 2023-07-06 | 3.22.x | 1.1.x | 4.7.x | 4.2.x |
| 1.19.x | 2023-05-04 | 3.17.x | 1.1.x1 | 4.7.x | 4.0.x |
| 1.18.x | 2023-03-07 | 3.13.x | 2.14.x | 4.6.x | 3.6.x |
| 1.17.x | 2022-12-20 | 3.9.x | 2.14.x | 4.5.x | 3.5.x |
| 1.16.x | 2022-10-31 | 3.8.x | 2.13.x | 4.4.x | 3.4.x |
| 1.15.x | 2022-09-07 | 3.6.x | 2.12.x | 4.3.x | 3.3.x |
| 1.14.x | 2022-07-07 | 3.6.x | 2.11.x | 4.2.x | 3.2.x |
| 1.13.x | 2022-05-03 | 3.4.x | 2.9.x | 4.0.x | 2.4.x |
| 1.12.x | 2022-04-05 | 3.4.x | 2.8.x | 3.0.x | 2.3.x |
| 1.11.x | 2022-03-14 | 3.2.x | 2.7.x | 2.6.x | 2.3.x |
| 1.10.x | 2022-01-27 | 3.1.x | 2.5.x | 2.4.x | 2.1.x |
| 1.9.x | 2021-12-10 | 3.1.x | 2.4.x | 2.4.x | 2.1.x |
| 1.8.x | 2021-11-30 | 3.1.x | 2.4.x | 2.3.x | 1.1.x |
| 1.7.x | 2021-09-01 | 3.1.x | 2.4.x | 2.3.x | 1.1.x |
| 1.6.x | 2021-08-11 | 2.4.x | 2.3.x | 2.2.x | 1.0.x |
| 1.5.x | 2021-07-13 | 2.2.x | 2.1.x | 2.1.x | 1.0.x |
| 1.4.x | 2021-06-09 | 2.2.x | 2.1.x | 2.1.x | 1.0.x |
| 1.3.x | 2021-04-23 | 2.2.x | 2.1.x | 2.1.x | 1.0.x |
| 1.2.x | 2021-03-15 | 2.2.x | 2.0.x | 1.1.x | - |
| 1.1.x | 2021-02-10 | 2.1.x | - | - | - |
| 1.0.x | 2021-01-14 | 2.0.x | - | - | - |
TypeScript 客户端变更
TypeScript 客户端 于 2023-03-17 替换了 JavaScript 客户端。
代码示例和更多资源
可以在 Weaviate 文档中找到有关各种操作和功能的用法信息。
配置压缩、备份、身份验证、授权、数据复制等。
管理集合 (CRUD)、配置向量化器和索引参数、设置多租户以及执行迁移。
添加新对象、获取现有对象、修改对象以及从集合中删除对象。
从基本的向量和混合搜索到专门的图像查询以及执行数据聚合。
Weaviate API 参考页面中的 搜索 和 REST 也可能是很好的起点。
问题和反馈
如果您有任何问题或反馈,请在 用户论坛 中告诉我们。
