@@ -896,7 +896,10 @@ def test_text_query_word_weights(index, scorer):
896896    text_field  =  "description" 
897897    return_fields  =  ["description" ]
898898
899-     weights  =  {"medical" : 3.4 , "cancers" : 5 }
899+     weights  =  {
900+         "medical" : 1.1 ,
901+         "cancers" : 1.15 ,
902+     }  # use small weights to not change results 
900903
901904    # test we can run a query with text weights 
902905    weighted_query  =  TextQuery (
@@ -905,6 +908,7 @@ def test_text_query_word_weights(index, scorer):
905908        return_fields = return_fields ,
906909        text_scorer = scorer ,
907910        text_weights = weights ,
911+         sort_by = "description" ,
908912    )
909913
910914    weighted_results  =  index .query (weighted_query )
@@ -917,14 +921,17 @@ def test_text_query_word_weights(index, scorer):
917921        return_fields = return_fields ,
918922        text_scorer = scorer ,
919923        text_weights = {},
924+         sort_by = "description" ,
920925    )
921926
922927    unweighted_results  =  index .query (unweighted_query )
923928
924929    for  weighted , unweighted  in  zip (weighted_results , unweighted_results ):
925-         for  word  in  weights :
926-             if  word  in  weighted ["description" ] or  word  in  unweighted ["description" ]:
927-                 assert  weighted ["score" ] >  unweighted ["score" ]
930+         # test that the same results are returned when small weights are used 
931+         assert  weighted ["description" ] ==  unweighted ["description" ]
932+         # test the score still changes slightly with small weights 
933+         if  any ([word  in  weighted ["description" ] for  word  in  weights ]):
934+             assert  weighted ["score" ] >  unweighted ["score" ]
928935
929936    # test that weights do change the document score and order of results 
930937    weights  =  {"medical" : 5 , "cancers" : 3.4 }  # switch the weights 
0 commit comments