` | RRF with uniform weights |
---
diff --git a/pom.xml b/pom.xml
index ba1dc76..e592ac5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
io.endee
endee-java-client
- 1.0.2-SNAPSHOT
+ 2.0.0-SNAPSHOT
jar
Endee Java Client
diff --git a/src/main/java/io/endee/client/Collection.java b/src/main/java/io/endee/client/Collection.java
new file mode 100644
index 0000000..a0651a2
--- /dev/null
+++ b/src/main/java/io/endee/client/Collection.java
@@ -0,0 +1,842 @@
+package io.endee.client;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.endee.client.exception.EndeeApiException;
+import io.endee.client.exception.EndeeException;
+import io.endee.client.types.*;
+import io.endee.client.util.CryptoUtils;
+import io.endee.client.util.JsonUtils;
+import io.endee.client.util.MessagePackUtils;
+import io.endee.client.util.ValidationUtils;
+import java.io.IOException;
+import java.net.URI;
+import java.net.http.HttpClient;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
+import java.time.Duration;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * Collection client for Endee-DB vector operations (v2 API).
+ *
+ * Obtain via {@link Endee#getCollection(String)}.
+ */
+public class Collection {
+ private static final Duration DEFAULT_TIMEOUT = Duration.ofSeconds(30);
+ private static final int MAX_BATCH_SIZE = 10_000;
+ private static final int MAX_TOP_K = 4096;
+ private static final int MAX_EF_SEARCH = 1024;
+ private static final int MAX_FILTER_BOOST_PERCENTAGE = 100;
+ private static final int MIN_PREFILTER_THRESHOLD = 1_000;
+ private static final int MAX_PREFILTER_THRESHOLD = 1_000_000;
+ private static final String NORMS_KEY = "internal_";
+
+ private final String name;
+ private final String token;
+ private final String baseUrl;
+ private final HttpClient httpClient;
+ private final ObjectMapper objectMapper;
+ private List