2016-08-17 79 views
0

需要帮助,我有一个叫做客户的天蓝色索引,并且它有两个字段,它们的客户&联系人,我已经对这两个字段都应用了助推功能100 & 90,问题是当我搜索任何文本时首先返回客户相关的相关性,然后联系相关性Azure搜索相关性

例如:如果我搜索“强生” 它首先会返回所有客户的详细信息与约翰逊再联系细节即使接触名为“强生”显示的记录

列表匹配。

记录1:这是客户

  1. 约翰逊&泰森 段:企业|垂直:医疗保健|国家:美国

记录2:这是接触但它是与客户“约翰逊和泰森”相关

  • 迈克尔·沃尔顿 客户:约翰逊和泰森|细分:企业|垂直:医药
  • 记录3:这是接触但是它与顾客 “约翰逊和泰森” 相关联

  • 亨利维列根 顾客:Johnson和泰森|细分:Ent |垂直:医药
  • 记录4:这是联系其与客户相关联的 “WST”

  • 亨利约翰逊 顾客:WST |细分:企业|垂直:医药
  • 所以在这种方式记录显示其最有可能的得分,但是我想首先显示像记录4的相关名称 是接触,它本来应该在的地方记录2,因为约翰逊姓

    +0

    提示:将Azure搜索标记添加到Azure搜索相关问题,以引起Azure搜索工程团队的注意。 :) –

    回答

    1

    我认为,这是因为你有相同的价值观提高,所以它是这样的:

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

    // PS:这种说法只是为了澄清,联系人和客户的名字有同样重要。

    试着用不同的价值提升,我相信它会起作用。 (客户100人,细节90人)。

    UPDATE

    看来你单独索引名和姓。如果你有一个“全名”字段并通过它提升,可能你会得到预期的结果。另一种选择是使用这些字段创建一个进球简介:

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

    +0

    感谢您的回复和帮助我......我已经尝试过将客户提升为100,并且联系不到那些,但它没有工作。 – harshu288

    0

    我看问题的若干倍。虽然问题提到您有一个索引,但显示的记录意味着您实际上有两个搜索索引。它是否正确?我一直致力于training course for Azure Search,讨论索引和深入评分。

    目前,Azure Search不支持跨索引查询。因此,如果我对您的问题的理解是正确的,那么您必须运行两个查询:第一个是Customer索引,第二个是联系人索引。 Azure Search能够如此迅速地执行搜索的一部分原因是因为其平滑的数据结构允许快速查找和查询。然而,你的情景蕴含着某种关系。

    我误解了你的问题吗?

    +0

    它看起来像在单个索引中有两种类型的记录,通过填充字段的子集来区分。这是用于在单个索引中拟合相关但异构数据的常见模式。 @ harshu288 - 如果我错了,请纠正我。 –

    +0

    布鲁斯,你是对的我有一个叫做“客户”的单一索引,而且我有其中的字段,如“id”,“customerName”,“contactName”等。我已经为客户和联系人姓名应用了升级功能,但不按照上述问题中提到的要求工作 – harshu288

    +0

    我正在等待此帮助 – harshu288