@@ -701,6 +701,14 @@ setup:
701701
702702---
703703" 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+
704712 - do :
705713 indices.create :
706714 index : test_index
@@ -2118,21 +2126,15 @@ setup:
21182126 - contains : {hits.hits: {_id: "31"}}
21192127
21202128---
2121- " Test update flat --> bbq_flat --> bbq_hnsw " :
2129+ " Test update flat --> bbq_flat --> bbq_hnsw --> bbq_disk " :
21222130 - requires :
21232131 capabilities :
21242132 - method : POST
21252133 path : /_search
2126- capabilities : [ optimized_scalar_quantization_bbq ]
2134+ capabilities : [ update_field_to_bbq_disk, dense_vector_updatable_bbq ]
21272135 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+
21362138 - do :
21372139 indices.create :
21382140 index : vectors_64
@@ -2236,6 +2238,41 @@ setup:
22362238 indices.flush :
22372239 index : vectors_64
22382240
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+
22392276 - do :
22402277 indices.forcemerge :
22412278 index : vectors_64
@@ -2257,28 +2294,23 @@ setup:
22572294 -0.344, 0.136, 0.252, 0.157, -0.13 , -0.244, 0.193, -0.034,
22582295 -0.12 , -0.193, -0.102, 0.252, -0.185, -0.167, -0.575, 0.582,
22592296 -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
22622299
22632300 - match : { hits.hits.0._id: "1" }
22642301 - match : { hits.hits.1._id: "3" }
22652302 - match : { hits.hits.2._id: "2" }
2303+ - match : { hits.hits.3._id: "4" }
22662304---
2267- " Test update int8_hnsw --> bbq_flat " :
2305+ " Test update int8_hnsw --> bbq_flat --> bbq_disk " :
22682306 - requires :
22692307 capabilities :
22702308 - method : POST
22712309 path : /_search
2272- capabilities : [ optimized_scalar_quantization_bbq ]
2310+ capabilities : [ optimized_scalar_quantization_bbq, dense_vector_updatable_bbq, update_field_to_bbq_disk ]
22732311 test_runner_features : capabilities
22742312 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+
22822314 - do :
22832315 indices.create :
22842316 index : vectors_64
@@ -2344,6 +2376,27 @@ setup:
23442376 0.082, 0.107, -0.05 , 0.155, 0.011, 0.161, -0.486, 0.569,
23452377 -0.489, 0.901, 0.208, 0.011, -0.209, -0.153, -0.27 , -0.013]
23462378
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+
23472400 - do :
23482401 index :
23492402 index : vectors_64
@@ -2385,21 +2438,15 @@ setup:
23852438 - match : { hits.hits.1._id: "3" }
23862439 - match : { hits.hits.2._id: "2" }
23872440---
2388- " Test update int8_hnsw --> bbq_hnsw " :
2441+ " Test update int8_hnsw --> bbq_hnsw --> bbq_disk " :
23892442 - requires :
23902443 capabilities :
23912444 - method : POST
23922445 path : /_search
2393- capabilities : [ optimized_scalar_quantization_bbq ]
2446+ capabilities : [ optimized_scalar_quantization_bbq, dense_vector_updatable_bbq, update_field_to_bbq_disk ]
23942447 test_runner_features : capabilities
23952448 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+
24032450 - do :
24042451 indices.create :
24052452 index : vectors_64
@@ -2434,6 +2481,24 @@ setup:
24342481 indices.flush :
24352482 index : vectors_64
24362483
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+
24372502 - do :
24382503 index :
24392504 index : vectors_64
@@ -2459,14 +2524,14 @@ setup:
24592524 type : dense_vector
24602525 dims : 64
24612526 index_options :
2462- type : bbq_hnsw
2527+ type : bbq_disk
24632528
24642529 - do :
24652530 indices.get_mapping :
24662531 index : vectors_64
24672532
24682533 - 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 }
24702535
24712536 - do :
24722537 index :
0 commit comments