@@ -701,6 +701,14 @@ setup:
701
701
702
702
---
703
703
" Index, update and merge " :
704
+ - requires :
705
+ capabilities :
706
+ - method : POST
707
+ path : /_search
708
+ capabilities : [ dense_vector_updatable_bbq ]
709
+ test_runner_features : capabilities
710
+ reason : " BBQ disk is required to test upgrading to bbq_disk"
711
+
704
712
- do :
705
713
indices.create :
706
714
index : test_index
@@ -2118,21 +2126,15 @@ setup:
2118
2126
- contains : {hits.hits: {_id: "31"}}
2119
2127
2120
2128
---
2121
- " Test update flat --> bbq_flat --> bbq_hnsw " :
2129
+ " Test update flat --> bbq_flat --> bbq_hnsw --> bbq_disk " :
2122
2130
- requires :
2123
2131
capabilities :
2124
2132
- method : POST
2125
2133
path : /_search
2126
- capabilities : [ optimized_scalar_quantization_bbq ]
2134
+ capabilities : [ update_field_to_bbq_disk, dense_vector_updatable_bbq ]
2127
2135
test_runner_features : capabilities
2128
- reason : " BBQ is required to test upgrading to bbq_flat and bbq_hnsw"
2129
- - requires :
2130
- reason : ' dense_vector updatable to bbq capability required'
2131
- test_runner_features : [ capabilities ]
2132
- capabilities :
2133
- - method : PUT
2134
- path : /_mapping
2135
- capabilities : [ dense_vector_updatable_bbq ]
2136
+ reason : " BBQ disk is required to test upgrading to bbq_disk"
2137
+
2136
2138
- do :
2137
2139
indices.create :
2138
2140
index : vectors_64
@@ -2236,6 +2238,41 @@ setup:
2236
2238
indices.flush :
2237
2239
index : vectors_64
2238
2240
2241
+ - do :
2242
+ indices.put_mapping :
2243
+ index : vectors_64
2244
+ body :
2245
+ properties :
2246
+ embedding :
2247
+ type : dense_vector
2248
+ dims : 64
2249
+ index_options :
2250
+ type : bbq_disk
2251
+
2252
+ - do :
2253
+ indices.get_mapping :
2254
+ index : vectors_64
2255
+
2256
+ - match : { vectors_64.mappings.properties.embedding.type: dense_vector }
2257
+ - match : { vectors_64.mappings.properties.embedding.index_options.type: bbq_disk }
2258
+
2259
+ - do :
2260
+ index :
2261
+ index : vectors_64
2262
+ id : " 4"
2263
+ body :
2264
+ vector : [0.011, 0.052, 0.099, 0.138, 0.040, -0.121, 0.215, -0.021,
2265
+ 0.003, 0.064, -0.195, -0.010, 0.080, 0.072, -0.016, 0.016,
2266
+ 0.006, 0.168, 0.063, 0.057, -0.036, 0.042, -0.011, -0.007,
2267
+ -0.004, 0.010, 0.017, 0.031, -0.025, 0.014, -0.058, -0.001,
2268
+ -0.079, 0.026, -0.016, 0.087, -0.014, 0.019, 0.018, 0.107,
2269
+ -0.022, -0.003, 0.047, 0.041, 0.027, -0.031, 0.015, 0.017,
2270
+ 0.021, -0.023, -0.018, 0.015, -0.007, 0.037, -0.044, 0.115,
2271
+ -0.068, 0.132, 0.019, -0.017, -0.010, -0.029, -0.008, -0.016]
2272
+ - do :
2273
+ indices.flush :
2274
+ index : vectors_64
2275
+
2239
2276
- do :
2240
2277
indices.forcemerge :
2241
2278
index : vectors_64
@@ -2257,28 +2294,23 @@ setup:
2257
2294
-0.344, 0.136, 0.252, 0.157, -0.13 , -0.244, 0.193, -0.034,
2258
2295
-0.12 , -0.193, -0.102, 0.252, -0.185, -0.167, -0.575, 0.582,
2259
2296
-0.426, 0.983, 0.212, 0.204, 0.03 , -0.276, -0.425, -0.158 ]
2260
- k : 3
2261
- num_candidates : 3
2297
+ k : 4
2298
+ num_candidates : 4
2262
2299
2263
2300
- match : { hits.hits.0._id: "1" }
2264
2301
- match : { hits.hits.1._id: "3" }
2265
2302
- match : { hits.hits.2._id: "2" }
2303
+ - match : { hits.hits.3._id: "4" }
2266
2304
---
2267
- " Test update int8_hnsw --> bbq_flat " :
2305
+ " Test update int8_hnsw --> bbq_flat --> bbq_disk " :
2268
2306
- requires :
2269
2307
capabilities :
2270
2308
- method : POST
2271
2309
path : /_search
2272
- capabilities : [ optimized_scalar_quantization_bbq ]
2310
+ capabilities : [ optimized_scalar_quantization_bbq, dense_vector_updatable_bbq, update_field_to_bbq_disk ]
2273
2311
test_runner_features : capabilities
2274
2312
reason : " BBQ is required to test upgrading to bbq_flat and bbq_hnsw"
2275
- - requires :
2276
- reason : ' dense_vector updatable to bbq capability required'
2277
- test_runner_features : [ capabilities ]
2278
- capabilities :
2279
- - method : PUT
2280
- path : /_mapping
2281
- capabilities : [ dense_vector_updatable_bbq ]
2313
+
2282
2314
- do :
2283
2315
indices.create :
2284
2316
index : vectors_64
@@ -2344,6 +2376,27 @@ setup:
2344
2376
0.082, 0.107, -0.05 , 0.155, 0.011, 0.161, -0.486, 0.569,
2345
2377
-0.489, 0.901, 0.208, 0.011, -0.209, -0.153, -0.27 , -0.013]
2346
2378
2379
+ - do :
2380
+ indices.flush :
2381
+ index : vectors_64
2382
+ - do :
2383
+ indices.put_mapping :
2384
+ index : vectors_64
2385
+ body :
2386
+ properties :
2387
+ embedding :
2388
+ type : dense_vector
2389
+ dims : 64
2390
+ index_options :
2391
+ type : bbq_disk
2392
+
2393
+ - do :
2394
+ indices.get_mapping :
2395
+ index : vectors_64
2396
+
2397
+ - match : { vectors_64.mappings.properties.embedding.type: dense_vector }
2398
+ - match : { vectors_64.mappings.properties.embedding.index_options.type: bbq_disk }
2399
+
2347
2400
- do :
2348
2401
index :
2349
2402
index : vectors_64
@@ -2385,21 +2438,15 @@ setup:
2385
2438
- match : { hits.hits.1._id: "3" }
2386
2439
- match : { hits.hits.2._id: "2" }
2387
2440
---
2388
- " Test update int8_hnsw --> bbq_hnsw " :
2441
+ " Test update int8_hnsw --> bbq_hnsw --> bbq_disk " :
2389
2442
- requires :
2390
2443
capabilities :
2391
2444
- method : POST
2392
2445
path : /_search
2393
- capabilities : [ optimized_scalar_quantization_bbq ]
2446
+ capabilities : [ optimized_scalar_quantization_bbq, dense_vector_updatable_bbq, update_field_to_bbq_disk ]
2394
2447
test_runner_features : capabilities
2395
2448
reason : " BBQ is required to test upgrading to bbq_flat and bbq_hnsw"
2396
- - requires :
2397
- reason : ' dense_vector updatable to bbq capability required'
2398
- test_runner_features : [ capabilities ]
2399
- capabilities :
2400
- - method : PUT
2401
- path : /_mapping
2402
- capabilities : [ dense_vector_updatable_bbq ]
2449
+
2403
2450
- do :
2404
2451
indices.create :
2405
2452
index : vectors_64
@@ -2434,6 +2481,24 @@ setup:
2434
2481
indices.flush :
2435
2482
index : vectors_64
2436
2483
2484
+ - do :
2485
+ indices.put_mapping :
2486
+ index : vectors_64
2487
+ body :
2488
+ properties :
2489
+ embedding :
2490
+ type : dense_vector
2491
+ dims : 64
2492
+ index_options :
2493
+ type : bbq_hnsw
2494
+
2495
+ - do :
2496
+ indices.get_mapping :
2497
+ index : vectors_64
2498
+
2499
+ - match : { vectors_64.mappings.properties.embedding.type: dense_vector }
2500
+ - match : { vectors_64.mappings.properties.embedding.index_options.type: bbq_hnsw }
2501
+
2437
2502
- do :
2438
2503
index :
2439
2504
index : vectors_64
@@ -2459,14 +2524,14 @@ setup:
2459
2524
type : dense_vector
2460
2525
dims : 64
2461
2526
index_options :
2462
- type : bbq_hnsw
2527
+ type : bbq_disk
2463
2528
2464
2529
- do :
2465
2530
indices.get_mapping :
2466
2531
index : vectors_64
2467
2532
2468
2533
- match : { vectors_64.mappings.properties.embedding.type: dense_vector }
2469
- - match : { vectors_64.mappings.properties.embedding.index_options.type: bbq_hnsw }
2534
+ - match : { vectors_64.mappings.properties.embedding.index_options.type: bbq_disk }
2470
2535
2471
2536
- do :
2472
2537
index :
0 commit comments