@@ -336,7 +336,13 @@ private List<CosmosVectorIndexSpec> populateVectorIndexes() {
336336 cosmosVectorIndexSpec3 .setIndexingSearchListSize (30 );
337337 cosmosVectorIndexSpec3 .setVectorIndexShardKeys (Arrays .asList ("/country/city" ));
338338
339- return Arrays .asList (cosmosVectorIndexSpec1 , cosmosVectorIndexSpec2 , cosmosVectorIndexSpec3 );
339+ CosmosVectorIndexSpec cosmosVectorIndexSpec4 = new CosmosVectorIndexSpec ();
340+ cosmosVectorIndexSpec4 .setPath ("/vector4" );
341+ cosmosVectorIndexSpec4 .setType (CosmosVectorIndexType .QUANTIZED_FLAT .toString ());
342+ cosmosVectorIndexSpec4 .setQuantizationSizeInBytes (2 );
343+ cosmosVectorIndexSpec4 .setVectorIndexShardKeys (Arrays .asList ("/zipCode" ));
344+
345+ return Arrays .asList (cosmosVectorIndexSpec1 , cosmosVectorIndexSpec2 , cosmosVectorIndexSpec3 , cosmosVectorIndexSpec4 );
340346 }
341347
342348 private List <CosmosVectorEmbedding > populateEmbeddings () {
@@ -357,14 +363,21 @@ private List<CosmosVectorEmbedding> populateEmbeddings() {
357363 embedding3 .setDataType (CosmosVectorDataType .UINT8 );
358364 embedding3 .setEmbeddingDimensions (3 );
359365 embedding3 .setDistanceFunction (CosmosVectorDistanceFunction .EUCLIDEAN );
360- return Arrays .asList (embedding1 , embedding2 , embedding3 );
366+
367+ CosmosVectorEmbedding embedding4 = new CosmosVectorEmbedding ();
368+ embedding4 .setPath ("/vector4" );
369+ embedding4 .setDataType (CosmosVectorDataType .FLOAT16 );
370+ embedding4 .setEmbeddingDimensions (3 );
371+ embedding4 .setDistanceFunction (CosmosVectorDistanceFunction .DOT_PRODUCT );
372+ return Arrays .asList (embedding1 , embedding2 , embedding3 , embedding4 );
361373 }
362374
363375 private String getVectorEmbeddingPolicyAsString () {
364376 return "{\" vectorEmbeddings\" :[" +
365377 "{\" path\" :\" /vector1\" ,\" dataType\" :\" int8\" ,\" dimensions\" :3,\" distanceFunction\" :\" cosine\" }," +
366378 "{\" path\" :\" /vector2\" ,\" dataType\" :\" float32\" ,\" dimensions\" :3,\" distanceFunction\" :\" dotproduct\" }," +
367- "{\" path\" :\" /vector3\" ,\" dataType\" :\" uint8\" ,\" dimensions\" :3,\" distanceFunction\" :\" euclidean\" }" +
379+ "{\" path\" :\" /vector3\" ,\" dataType\" :\" uint8\" ,\" dimensions\" :3,\" distanceFunction\" :\" euclidean\" }," +
380+ "{\" path\" :\" /vector4\" ,\" dataType\" :\" float16\" ,\" dimensions\" :3,\" distanceFunction\" :\" dotproduct\" }" +
368381 "]}" ;
369382 }
370383}
0 commit comments