基于搜索列的Azure搜索排名

时间:2018-06-20 17:05:15

标签: azure-search

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

我可以使用哪种得分资料对结果进行排名?

1 个答案:

答案 0 :(得分:0)

在创建评分资料时,您可以使用weights组件为各个字段分配特定的权重。在您的情况下,您应为field2分配比field1更高的权重。您可以根据情况(例如新鲜度,大小等)进一步指定函数来影响评分。

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

您可以详细了解此here