0

我有一个 Azure 搜索索引,其中包含具有字段和相应权重的用户的地址信息,如下所示:

weights= @{  
                              HouseNumber = '40'      
                              StreetName = '36'
                              City = '30'
                              PostalCode = '29'
                              Province = '25'
                              Country = '21'
                              FSA = '20'      
                              Plus4 = '16'
                              SuiteName = '12'
                              SuiteRange = '11'
                              StreetPost = '10'
                              StreetPre = '8'
                              StreetSuffix = '6'
                            }

我使用 searchmode 作为任何查询。我如何确定得分最高的记录是最相关的记录?意思是,万一用户没有输入地址的所有关键字,记录的相关性可能会有所不同。例如,如果字符串包含诸如“1A1”之类的关键字,它可以是邮政编码“A1A 1A1”的一部分,也可以是门牌号码。这将返回两条记录,但分数不同。我应该如何解决这个问题?

4

1 回答 1

0

如果查询的术语可以匹配多个字段(例如,如果“1A1”可以匹配 PostalCode 和 HouseNumber 字段中的结果),那么评分配置文件将通过提升每个相应的结果来按预期工作。

您应该检测应用程序,以便查询是 field-scoped。这样,查询的每个部分都在搜索正确的字段,并相应地提升匹配。

于 2017-07-20T01:30:29.803 回答