4242
4343public class BinaryVectorExample {
4444 private static final String COLLECTION_NAME = "java_sdk_example_binary_vector_v2" ;
45- private static final String ID_FIELD = "id " ;
45+ private static final String ID_FIELD = "pk " ;
4646 private static final String VECTOR_FIELD = "vector" ;
4747
48- private static final Integer VECTOR_DIM = 512 ;
48+ private static final Integer VECTOR_DIM = 128 ;
4949
5050
5151 public static void main (String [] args ) {
@@ -126,6 +126,8 @@ public static void main(String[] args) {
126126 Random ran = new Random ();
127127 int k = ran .nextInt (rowCount );
128128 ByteBuffer targetVector = vectors .get (k );
129+ System .out .printf ("\n ANN search for vector ID=%d:\n " , k );
130+ CommonUtils .printBinaryVector (targetVector );
129131 Map <String ,Object > params = new HashMap <>();
130132 params .put ("nprobe" ,16 );
131133 SearchResp searchResp = client .search (SearchReq .builder ()
@@ -141,16 +143,11 @@ public static void main(String[] args) {
141143 // Here we only input one vector to search, get the result of No.0 vector to check
142144 List <List <SearchResp .SearchResult >> searchResults = searchResp .getSearchResults ();
143145 List <SearchResp .SearchResult > results = searchResults .get (0 );
144- System .out .printf ("The result of No.%d target vector:\n " , i );
146+ System .out .printf ("The result of No.%d target vector, ID=%d :\n " , i , k );
145147 for (SearchResp .SearchResult result : results ) {
146- System .out .println (result .getEntity ());
147- System .out .printf ("ID: %d, Score: %f, Vector: " , result .getId (), result .getScore ());
148+ System .out .println (result );
148149 ByteBuffer vector = (ByteBuffer ) result .getEntity ().get (VECTOR_FIELD );
149- vector .rewind ();
150- while (vector .hasRemaining ()) {
151- System .out .print (Integer .toBinaryString (vector .get ()));
152- }
153- System .out .println ();
150+ CommonUtils .printBinaryVector (vector );
154151 }
155152
156153 SearchResp .SearchResult firstResult = results .get (0 );
@@ -165,7 +162,7 @@ public static void main(String[] args) {
165162 int n = 99 ;
166163 QueryResp queryResp = client .query (QueryReq .builder ()
167164 .collectionName (COLLECTION_NAME )
168- .filter (String .format ("id == %d" , n ))
165+ .filter (String .format ("%s == %d" , ID_FIELD , n ))
169166 .outputFields (Collections .singletonList (VECTOR_FIELD ))
170167 .build ());
171168
0 commit comments