Azure搜索相关性

时间:2016-08-17 10:10:04

标签: azure azure-search

需要帮助,我有一个名为customer的azure索引,并在其中有两个字段customer&联系方式,我已经使用boost 100& amp; 90,问题是当我搜索任何文本时,它首先返回客户相关的相关性,然后联系相关性。

例如:如果我搜索" Johnson" 它将首先返回Johnson的所有客户详细信息,然后联系详细信息,即使联系人姓名与" Johnson"

显示的记录列表。

记录1:这是客户

  1. 约翰逊&泰森 细分:企业|垂直:医疗保健|国家:美国
  2. 记录2:这是联系,但它与客户"约翰逊和泰森"

    相关联
    1. Michael Walton 客户:约翰逊和泰森|细分:企业|垂直:制药
    2. 记录3:这是联系,但它与客户"约翰逊和泰森"

      相关联
      1. Henri Vliegen 客户:约翰逊和泰森|细分:Ent |垂直:制药
      2. 记录4:这是与客户" WST"

        相关联的联系人
        1. 亨利约翰逊 客户:WST |细分:企业|垂直:制药
        2. 因此,通过这种方式记录最有可能显示在得分上,但是我想要相关名称 首先显示像记录4是联系,它应该已经取代记录2,因为约翰逊是姓氏

2 个答案:

答案 0 :(得分:1)

我相信它是因为你用同样的价值提升,所以它是这样的:

if(Customer.Contains("Johnson") || (Contact.Contais("Johnson"))
{
   //display
}

// PS:此声明只是为了澄清联系人和客户名称具有相同的重要性。

尝试使用不同的值进行提升,我相信它会起作用。 (客户100,细节90)。

<强> UPDATE

您似乎分别为名字和姓氏编制索引。如果你有一个字段&#34;全名&#34;并通过它提升,可能你会得到预期的结果。另一个选择是使用以下字段创建评分配置文件:

https://azure.microsoft.com/en-us/documentation/articles/search-get-started-scoring-profiles/

答案 1 :(得分:0)

我多次阅读这个问题。虽然问题提到您有一个索引,但显示的记录意味着您实际上有两个搜索索引。它是否正确?我一直在研究training course for Azure Search,它深入讨论索引和评分。

目前,Azure搜索不支持跨索引查询。因此,如果我对您的问题的理解是正确的,您必须运行两个查询:第一个在Customer索引上,第二个在Contacts索引上。 Azure Search能够如此快速地执行搜索的部分原因是因为它具有扁平的数据结构,可以快速查找和查询。但是,你的情景意味着某种关系。

我误解了你的问题吗?