@@ -11,20 +11,11 @@ setup:
1111              number_of_shards : 1 
1212          mappings :
1313            properties :
14-               name :
15-                 type : keyword 
1614              vector :
1715                type : dense_vector 
1816                dims : 64 
1917                index : true 
20-                 similarity : l2_norm 
21-                 index_options :
22-                   type : bbq_hnsw 
23-               another_vector :
24-                 type : dense_vector 
25-                 dims : 64 
26-                 index : true 
27-                 similarity : l2_norm 
18+                 similarity : max_inner_product 
2819                index_options :
2920                  type : bbq_hnsw 
3021
@@ -33,9 +24,14 @@ setup:
3324        index : bbq_hnsw 
3425        id : " 1" 
3526        body :
36-           name : cow.jpg 
37-           vector : [300.33, -34.8988, 15.555, -200.0, 230.0, 300.33, -34.8988, 15.555, -200.0, 230.0, 300.33, -34.8988, 15.555, -200.0, 230.0, 300.33, -34.8988, 15.555, -200.0, 230.0, 300.33, -34.8988, 15.555, -200.0, 230.0, 300.33, -34.8988, 15.555, -200.0, 230.0, 300.33, -34.8988, 15.555, -200.0, 230.0, 300.33, -34.8988, 15.555, -200.0, 230.0, 300.33, -34.8988, 15.555, -200.0, 230.0, 300.33, -34.8988, 15.555, -200.0, 230.0, 300.33, -34.8988, 15.555, -200.0, 230.0, 300.33, -34.8988, 15.555, -200.0, 230.0, 300.33, -34.8988, 15.555, -200.0] 
38-           another_vector : [115.0, -1.02, 15.555, -100.0, 130.0, 115.0, -1.02, 15.555, -100.0, 130.0, 115.0, -1.02, 15.555, -100.0, 130.0, 115.0, -1.02, 15.555, -100.0, 130.0, 115.0, -1.02, 15.555, -100.0, 130.0, 115.0, -1.02, 15.555, -100.0, 130.0, 115.0, -1.02, 15.555, -100.0, 130.0, 115.0, -1.02, 15.555, -100.0, 130.0, 115.0, -1.02, 15.555, -100.0, 130.0, 115.0, -1.02, 15.555, -100.0, 130.0, 115.0, -1.02, 15.555, -100.0, 130.0, 115.0, -1.02, 15.555, -100.0, 130.0, 115.0, -1.02, 15.555, -100.0] 
27+           vector : [0.077,  0.32 , -0.205,  0.63 ,  0.032,  0.201,  0.167, -0.313, 
28+                    0.176,  0.531, -0.375,  0.334, -0.046,  0.078, -0.349,  0.272, 
29+                    0.307, -0.083,  0.504,  0.255, -0.404,  0.289, -0.226, -0.132, 
30+                    -0.216,  0.49 ,  0.039,  0.507, -0.307,  0.107,  0.09 , -0.265, 
31+                    -0.285,  0.336, -0.272,  0.369, -0.282,  0.086, -0.132,  0.475, 
32+                    -0.224,  0.203,  0.439,  0.064,  0.246, -0.396,  0.297,  0.242, 
33+                    -0.028,  0.321, -0.022, -0.009, -0.001  ,  0.031, -0.533,  0.45, 
34+                    -0.683,  1.331,  0.194, -0.157, -0.1  , -0.279, -0.098, -0.176] 
3935  #  Flush in order to provoke a merge later
4036  - do :
4137      indices.flush :
@@ -46,9 +42,14 @@ setup:
4642        index : bbq_hnsw 
4743        id : " 2" 
4844        body :
49-           name : moose.jpg 
50-           vector : [100.0, -13, 14.8, -156.0, -0.5, 100.0, -13, 14.8, -156.0, -0.5, 100.0, -13, 14.8, -156.0, -0.5, 100.0, -13, 14.8, -156.0, -0.5, 100.0, -13, 14.8, -156.0, -0.5, 100.0, -13, 14.8, -156.0, -0.5, 100.0, -13, 14.8, -156.0, -0.5, 100.0, -13, 14.8, -156.0, -0.5, 100.0, -13, 14.8, -156.0, -0.5, 100.0, -13, 14.8, -156.0, -0.5, 100.0, -13, 14.8, -156.0, -0.5, 100.0, -13, 14.8, -156.0, -0.5, 100.0, -13, 14.8, -156.0] 
51-           another_vector : [50.0, -1, 1, 120, -0.5, 50.0, -1, 1, 120, -0.5, 50.0, -1, 1, 120, -0.5, 50.0, -1, 1, 120, -0.5, 50.0, -1, 1, 120, -0.5, 50.0, -1, 1, 120, -0.5, 50.0, -1, 1, 120, -0.5, 50.0, -1, 1, 120, -0.5, 50.0, -1, 1, 120, -0.5, 50.0, -1, 1, 120, -0.5, 50.0, -1, 1, 120, -0.5, 50.0, -1, 1, 120, -0.5, 50.0, -1, 1, 120] 
45+           vector : [0.196,  0.514,  0.039,  0.555, -0.042,  0.242,  0.463, -0.348, 
46+                    -0.08 ,  0.442, -0.067, -0.05 , -0.001,  0.298, -0.377,  0.048, 
47+                    0.307,  0.159,  0.278,  0.119, -0.057,  0.333, -0.289, -0.438, 
48+                    -0.014,  0.361, -0.169,  0.292, -0.229,  0.123,  0.031, -0.138, 
49+                    -0.139,  0.315, -0.216,  0.322, -0.445, -0.059,  0.071,  0.429, 
50+                    -0.602, -0.142,  0.11 ,  0.192,  0.259, -0.241,  0.181, -0.166, 
51+                    0.082,  0.107, -0.05 ,  0.155,  0.011,  0.161, -0.486,  0.569, 
52+                    -0.489,  0.901,  0.208,  0.011, -0.209, -0.153, -0.27 , -0.013] 
5253  #  Flush in order to provoke a merge later
5354  - do :
5455      indices.flush :
@@ -60,8 +61,14 @@ setup:
6061        id : " 3" 
6162        body :
6263          name : rabbit.jpg 
63-           vector : [111.3, -13.0, 14.8, -156.0, 0.5, 111.3, -13.0, 14.8, -156.0, 0.5, 111.3, -13.0, 14.8, -156.0, 0.5, 111.3, -13.0, 14.8, -156.0, 0.5, 111.3, -13.0, 14.8, -156.0, 0.5, 111.3, -13.0, 14.8, -156.0, 0.5, 111.3, -13.0, 14.8, -156.0, 0.5, 111.3, -13.0, 14.8, -156.0, 0.5, 111.3, -13.0, 14.8, -156.0, 0.5, 111.3, -13.0, 14.8, -156.0, 0.5, 111.3, -13.0, 14.8, -156.0, 0.5, 111.3, -13.0, 14.8, -156.0, 0.5, 111.3, -13.0, 14.8, -156.0] 
64-           another_vector : [11.0, 0, 12, 111.0, -0.5, 11.0, 0, 12, 111.0, -0.5, 11.0, 0, 12, 111.0, -0.5, 11.0, 0, 12, 111.0, -0.5, 11.0, 0, 12, 111.0, -0.5, 11.0, 0, 12, 111.0, -0.5, 11.0, 0, 12, 111.0, -0.5, 11.0, 0, 12, 111.0, -0.5, 11.0, 0, 12, 111.0, -0.5, 11.0, 0, 12, 111.0, -0.5, 11.0, 0, 12, 111.0, -0.5, 11.0, 0, 12, 111.0, -0.5, 11.0, 0, 12, 111.0] 
64+           vector : [0.139,  0.178, -0.117,  0.399,  0.014, -0.139,  0.347, -0.33 , 
65+                    0.139,  0.34 , -0.052, -0.052, -0.249,  0.327, -0.288,  0.049, 
66+                    0.464,  0.338,  0.516,  0.247, -0.104,  0.259, -0.209, -0.246, 
67+                    -0.11 ,  0.323,  0.091,  0.442, -0.254,  0.195, -0.109, -0.058, 
68+                    -0.279,  0.402, -0.107,  0.308, -0.273,  0.019,  0.082,  0.399, 
69+                    -0.658, -0.03 ,  0.276,  0.041,  0.187, -0.331,  0.165,  0.017, 
70+                    0.171, -0.203, -0.198,  0.115, -0.007,  0.337, -0.444,  0.615, 
71+                    -0.657,  1.285,  0.2  , -0.062,  0.038,  0.089, -0.068, -0.058] 
6572  #  Flush in order to provoke a merge later
6673  - do :
6774      indices.flush :
@@ -73,20 +80,33 @@ setup:
7380        max_num_segments : 1 
7481---
7582" Test knn search "  :
83+   - requires :
84+       capabilities :
85+         - method : POST 
86+           path : /_search 
87+           capabilities : [ optimized_scalar_quantization_bbq ] 
88+       test_runner_features : capabilities 
89+       reason : " BBQ scoring improved and changed with optimized_scalar_quantization_bbq" 
7690  - do :
7791      search :
7892        index : bbq_hnsw 
7993        body :
8094          knn :
8195            field : vector 
82-             query_vector : [ 90.0, -10, 14.8, -156.0, -0.5, 90.0, -10, 14.8, -156.0, -0.5, 90.0, -10, 14.8, -156.0, -0.5, 90.0, -10, 14.8, -156.0, -0.5, 90.0, -10, 14.8, -156.0, -0.5, 90.0, -10, 14.8, -156.0, -0.5, 90.0, -10, 14.8, -156.0, -0.5, 90.0, -10, 14.8, -156.0, -0.5, 90.0, -10, 14.8, -156.0, -0.5, 90.0, -10, 14.8, -156.0, -0.5, 90.0, -10, 14.8, -156.0, -0.5, 90.0, -10, 14.8, -156.0, -0.5, 90.0, -10, 14.8, -156.0] 
96+             query_vector : [0.128,  0.067, -0.08 ,  0.395, -0.11 , -0.259,  0.473, -0.393, 
97+                            0.292,  0.571, -0.491,  0.444, -0.288,  0.198, -0.343,  0.015, 
98+                            0.232,  0.088,  0.228,  0.151, -0.136,  0.236, -0.273, -0.259, 
99+                            -0.217,  0.359, -0.207,  0.352, -0.142,  0.192, -0.061, -0.17 , 
100+                            -0.343,  0.189, -0.221,  0.32 , -0.301, -0.1  ,  0.005,  0.232, 
101+                            -0.344,  0.136,  0.252,  0.157, -0.13 , -0.244,  0.193, -0.034, 
102+                            -0.12 , -0.193, -0.102,  0.252, -0.185, -0.167, -0.575,  0.582, 
103+                            -0.426,  0.983,  0.212,  0.204,  0.03 , -0.276, -0.425, -0.158] 
83104            k : 3 
84105            num_candidates : 3 
85106
86-   #  Depending on how things are distributed, docs 2 and 3 might be swapped
87-   #  here we verify that are last hit is always the worst one
88-   - match : { hits.hits.2._id: "1" } 
89- 
107+   - match : { hits.hits.0._id: "1" } 
108+   - match : { hits.hits.1._id: "3" } 
109+   - match : { hits.hits.2._id: "2" } 
90110---
91111" Test bad quantization parameters "  :
92112  - do :
0 commit comments