What's the difference for score theory and sort principle between elasticsearch6.8.0 and elasticsearch5.4.3?

hi,
i want to know what's the difference for score theory and sort principle between elasticsearch6.8.0 and elasticsearch5.4.3? i use match clause and _all in elasticsearch5.4.3 as below:
{
"query" : {
"match" : {
"_all" : {
"query" : "app",
"operator" : "AND"
}
}
}
}
and multi_match with cross_fields in elasticsearch6.8.0
{
"query" : {
"multi_match" : {
"query" : "and",
"type" : "cross_fields",
"operator" : "and"
}
}
}
but finally return result is not same according to _score to sort

for elasticsearch5.4.3 i use clause to validate search api to get the explain result:

 {
            "index": "testforms",
            "valid": true,
            "explanation": "+function score (_all:custom, functions: [{filter(TitleFieldAC:customer), function [org.elasticsearch.common.lucene.search.function.WeightFactorFunction@fe2b450d]}{filter(BestInClass:yes), function [org.elasticsearch.common.lucene.search.function.WeightFactorFunction@cfab450d]}]) #(+StatusFilter:Published +IsDeleted:[0 TO 0])"
        }

but in elasticsearch6.8.0 i get below result:
        {
            "index": "testforms",
            "valid": true,
            "explanation": "+function score ((Metadata-ReviewAssignTo_relationsvalue.StaffId:customer | 
			BestInClass:custom | 
			TitleFieldAC:customer | 
			StatusFilter:customer | 
			functions: [{org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$FilterScoreFunction@ab1688f4}{org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$FilterScoreFunction@8ccee3c1}{org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$FilterScoreFunction@b28704de}{org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$FilterScoreFunction@45c10606}{org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$FilterScoreFunction@41e10606}{org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$FilterScoreFunction@874e5aa1}{org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$FilterScoreFunction@be25c100}]) #(+StatusFilter:Published +IsDeleted:[0 TO 0])"
        }

i want to know what's the difference between elasticsearch5.4 and elasticsearch6.8, and why change it, any benefits using elasticsearch6.x new function?