1313
1414import org .elasticsearch .client .Request ;
1515import org .elasticsearch .client .Response ;
16+ import org .elasticsearch .cluster .metadata .IndexMetadata ;
1617import org .elasticsearch .common .settings .Settings ;
1718import org .elasticsearch .common .xcontent .support .XContentMapValues ;
1819
@@ -456,7 +457,11 @@ public void testBBQVectorSearch() throws Exception {
456457 }
457458 """ ;
458459 // create index and index 10 random floating point vectors
459- createIndex (BBQ_INDEX_NAME , Settings .EMPTY , mapping );
460+ createIndex (
461+ BBQ_INDEX_NAME ,
462+ Settings .builder ().put (IndexMetadata .SETTING_NUMBER_OF_SHARDS , 1 ).put (IndexMetadata .SETTING_NUMBER_OF_REPLICAS , 0 ).build (),
463+ mapping
464+ );
460465 index64DimVectors (BBQ_INDEX_NAME );
461466 // force merge the index
462467 client ().performRequest (new Request ("POST" , "/" + BBQ_INDEX_NAME + "/_forcemerge?max_num_segments=1" ));
@@ -485,8 +490,8 @@ public void testBBQVectorSearch() throws Exception {
485490 Map <String , Object > response = search (searchRequest );
486491 assertThat (extractValue (response , "hits.total.value" ), equalTo (7 ));
487492 List <Map <String , Object >> hits = extractValue (response , "hits.hits" );
488- assertThat (hits .get (0 ).get ("_id" ), equalTo ("0" ));
489- assertThat ((double ) hits .get (0 ).get ("_score" ), closeTo (1.9869276 , 0.0001 ));
493+ assertThat ("hits: " + response , hits .get (0 ).get ("_id" ), equalTo ("0" ));
494+ assertThat ("hits: " + response , (double ) hits .get (0 ).get ("_score" ), closeTo (1.9869276 , 0.0001 ));
490495
491496 // search with knn
492497 searchRequest = new Request ("POST" , "/" + BBQ_INDEX_NAME + "/_search" );
@@ -504,8 +509,12 @@ public void testBBQVectorSearch() throws Exception {
504509 response = search (searchRequest );
505510 assertThat (extractValue (response , "hits.total.value" ), equalTo (2 ));
506511 hits = extractValue (response , "hits.hits" );
507- assertThat (hits .get (0 ).get ("_id" ), equalTo ("0" ));
508- assertThat ((double ) hits .get (0 ).get ("_score" ), closeTo (0.9934857 , 0.005 ));
512+ assertThat ("expected: 0 received" + hits .get (0 ).get ("_id" ) + " hits: " + response , hits .get (0 ).get ("_id" ), equalTo ("0" ));
513+ assertThat (
514+ "expected_near: 0.99 received" + hits .get (0 ).get ("_score" ) + "hits: " + response ,
515+ (double ) hits .get (0 ).get ("_score" ),
516+ closeTo (0.9934857 , 0.005 )
517+ );
509518 }
510519
511520 public void testFlatBBQVectorSearch () throws Exception {
@@ -530,7 +539,11 @@ public void testFlatBBQVectorSearch() throws Exception {
530539 }
531540 """ ;
532541 // create index and index 10 random floating point vectors
533- createIndex (FLAT_BBQ_INDEX_NAME , Settings .EMPTY , mapping );
542+ createIndex (
543+ FLAT_BBQ_INDEX_NAME ,
544+ Settings .builder ().put (IndexMetadata .SETTING_NUMBER_OF_SHARDS , 1 ).put (IndexMetadata .SETTING_NUMBER_OF_REPLICAS , 0 ).build (),
545+ mapping
546+ );
534547 index64DimVectors (FLAT_BBQ_INDEX_NAME );
535548 // force merge the index
536549 client ().performRequest (new Request ("POST" , "/" + FLAT_BBQ_INDEX_NAME + "/_forcemerge?max_num_segments=1" ));
@@ -559,8 +572,8 @@ public void testFlatBBQVectorSearch() throws Exception {
559572 Map <String , Object > response = search (searchRequest );
560573 assertThat (extractValue (response , "hits.total.value" ), equalTo (7 ));
561574 List <Map <String , Object >> hits = extractValue (response , "hits.hits" );
562- assertThat (hits .get (0 ).get ("_id" ), equalTo ("0" ));
563- assertThat ((double ) hits .get (0 ).get ("_score" ), closeTo (1.9869276 , 0.0001 ));
575+ assertThat ("hits: " + response , hits .get (0 ).get ("_id" ), equalTo ("0" ));
576+ assertThat ("hits: " + response , (double ) hits .get (0 ).get ("_score" ), closeTo (1.9869276 , 0.0001 ));
564577
565578 // search with knn
566579 searchRequest = new Request ("POST" , "/" + FLAT_BBQ_INDEX_NAME + "/_search" );
@@ -578,8 +591,12 @@ public void testFlatBBQVectorSearch() throws Exception {
578591 response = search (searchRequest );
579592 assertThat (extractValue (response , "hits.total.value" ), equalTo (2 ));
580593 hits = extractValue (response , "hits.hits" );
581- assertThat (hits .get (0 ).get ("_id" ), equalTo ("0" ));
582- assertThat ((double ) hits .get (0 ).get ("_score" ), closeTo (0.9934857 , 0.005 ));
594+ assertThat ("expected: 0 received" + hits .get (0 ).get ("_id" ) + " hits: " + response , hits .get (0 ).get ("_id" ), equalTo ("0" ));
595+ assertThat (
596+ "expected_near: 0.99 received" + hits .get (0 ).get ("_score" ) + "hits: " + response ,
597+ (double ) hits .get (0 ).get ("_score" ),
598+ closeTo (0.9934857 , 0.005 )
599+ );
583600 }
584601
585602 private void index64DimVectors (String indexName ) throws Exception {
@@ -605,6 +622,7 @@ private void index64DimVectors(String indexName) throws Exception {
605622 assertOK (client ().performRequest (indexRequest ));
606623 }
607624 // always refresh to ensure the data is visible
625+ flush (indexName , true );
608626 refresh (indexName );
609627 }
610628
0 commit comments