需要帮助,我有一个名为customer的azure索引,并在其中有两个字段customer&联系方式,我已经使用boost 100& amp; 90,问题是当我搜索任何文本时,它首先返回客户相关的相关性,然后联系相关性。
例如:如果我搜索" Johnson" 它将首先返回Johnson的所有客户详细信息,然后联系详细信息,即使联系人姓名与" Johnson"
显示的记录列表。
记录1:这是客户
记录2:这是联系,但它与客户"约翰逊和泰森"
相关联记录3:这是联系,但它与客户"约翰逊和泰森"
相关联记录4:这是与客户" WST"
相关联的联系人因此,通过这种方式记录最有可能显示在得分上,但是我想要相关名称 首先显示像记录4是联系,它应该已经取代记录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能够如此快速地执行搜索的部分原因是因为它具有扁平的数据结构,可以快速查找和查询。但是,你的情景意味着某种关系。
我误解了你的问题吗?