我有一個字段(說色),它可以有四個值之一(紅,藍,黃,綠)。我想對它們進行排序,使得紅色的得分爲1,因此所有的紅色都會在頂部,其次是藍色的得分爲2,黃色的得分爲3,依此類推。Elasticsearch顯式排序得分
如何分配這些人工評分爲elasticsearch排序?
我有一個字段(說色),它可以有四個值之一(紅,藍,黃,綠)。我想對它們進行排序,使得紅色的得分爲1,因此所有的紅色都會在頂部,其次是藍色的得分爲2,黃色的得分爲3,依此類推。Elasticsearch顯式排序得分
如何分配這些人工評分爲elasticsearch排序?
你可以使用function_score功能,該功能將提供自定義的得分功能。你可以取代MATCH_ALL查詢你所需要的一個。
{
"query": {
"function_score": {
"boost_mode": "replace",
"query": {
"match_all": {}
},
"functions": [
{
"filter": {
"term": {
"color": "red"
}
},
"weight": 1
},
{
"filter": {
"term": {
"color": "blue"
}
},
"weight": 3
},
{
"filter": {
"term": {
"color": "yellow"
}
},
"weight": 2
}
]
}
},
"size": 20,
"from": 0
}
請向我們展示您迄今爲止嘗試過的映射,查詢和異常。 – user3775217