基于搜索列的 Azure 搜索排名

Azure Search Ranking Based On Search Column

我有一个配置了很多字段的 Azure 搜索。其中四个字段是可搜索的(Field1、Field2、field3、field4) 我想对我的结果进行排名,以便如果在字段 1 中找到匹配项,我希望首先显示这些结果。如果在 field2 中找到匹配项,我希望这些结果显示在 field1 匹配结果之后,但在 field3 的匹配结果之前。等等

我可以使用什么评分资料对上述结果进行排名?

创建评分配置文件时,您可以使用 weights 组件为各个字段分配特定权重。在您的情况下,您会为 field2 分配比 field1.You 更高的权重,可以进一步指定函数以根据新鲜度、幅度等场景影响评分。

"scoringProfiles": [  
    {  
      "name": "boostGenre",  
      "text": {  
        "weights": {  
          "field1": 1.5,  
          "field2": 25,  
          "field3": 2,  
          "field4": 3,  
        }  
      }  
    },  
    {  
      "name": "somefunction",  
      "functions": [  
         ...
      ]  
    }  
  ],  

您可以了解有关此内容的更多详细信息here