queries
parameter is deprecated so please see the example below on how to use addAllVector
.
// DEPRECATED: batch queries
float[] rawVector = {1.0F, 2.0F, 3.0F};
QueryVector queryVector = QueryVector.newBuilder()
.addAllValues(Floats.asList(rawVector))
.setFilter(Struct.newBuilder()
.putFields("some_field", Value.newBuilder()
.setStructValue(Struct.newBuilder()
.putFields("$lt", Value.newBuilder()
.setNumberValue(3)
.build()))
.build())
.build())
.setNamespace(namespace)
.build();
QueryRequest batchQueryRequest = QueryRequest.newBuilder()
.addQueries(queryVector)
.setNamespace(namespace)
.setTopK(2)
.setIncludeMetadata(true)
.build();
QueryResponse queryResponse = conn.getBlockingStub().query(batchQueryRequest);
// Replace it with this
Iterable<Float> iterable = Arrays.asList(1.0F, 2.0F, 3.0F);
QueryRequest queryRequest = QueryRequest.newBuilder()
.addAllVector(iterable)
.setNamespace(namespace)
.setTopK(2)
.setIncludeMetadata(true)
.build();
// When querying using a single vector, we get matches instead of results
queryResponse = conn.getBlockingStub().query(queryRequest);
Please let me know if this helps!