feat: make java client builder generic (#2851)

In #2845 we ported the lancedb integration in lance-namespace to
lancedb. But that is too specific to RestNamespace. We can improve the
user entry point so that we can put local mode and future version of the
Flight SQL-based LanceDB server all behind this single
`LanceDbNamespaceClientBuilder` API.

Also I renamed `namespace` to `namesapceClient` to avoid confusion with
the namespace path.
This commit is contained in:
Jack Ye
2025-12-04 16:34:32 -08:00
committed by GitHub
parent 4c3790cde4
commit f523191d21
4 changed files with 62 additions and 63 deletions

View File

@@ -7,11 +7,11 @@
For LanceDB Cloud, use the simplified builder API:
```java
import com.lancedb.LanceDbRestNamespaceBuilder;
import org.lance.namespace.RestNamespace;
import com.lancedb.LanceDbNamespaceClientBuilder;
import org.lance.namespace.LanceNamespace;
// If your DB url is db://example-db, then your database here is example-db
RestNamespace namespace = LanceDbRestNamespaceBuilder.newBuilder()
LanceNamespace namespaceClient = LanceDbNamespaceClientBuilder.newBuilder()
.apiKey("your_lancedb_cloud_api_key")
.database("your_database_name")
.build();
@@ -22,7 +22,7 @@ RestNamespace namespace = LanceDbRestNamespaceBuilder.newBuilder()
For Enterprise deployments, use your custom endpoint:
```java
RestNamespace namespace = LanceDbRestNamespaceBuilder.newBuilder()
LanceNamespace namespaceClient = LanceDbNamespaceClientBuilder.newBuilder()
.apiKey("your_lancedb_enterprise_api_key")
.database("your_database_name")
.endpoint("<your_enterprise_endpoint>")