Azure 搜索相关性

标签 azure azure-cognitive-search

需要帮助,我有一个名为“客户”的 azure 索引,其中有两个字段“客户”和“联系人”,我已对两个字段应用了 boost 函数,升压为 100 和 90,问题是当我搜索任何文本时,它会返回与客户相关的文本首先是相关性,然后是联系相关性。

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

显示的记录列表。

记录1:这是客户

  1. 约翰逊和泰森 分割:企业 |垂直领域:医疗保健|国家/地区:美国

记录 2:这是联系人,但与客户“Johnson and tyson”相关联

  • 迈克尔·沃尔顿 客户:约翰逊和泰森 |分割:企业 |行业:制药
  • 记录 3:这是联系人,但与客户“Johnson and tyson”相关联

  • 亨利·弗利根 客户:约翰逊和泰森 |分割: 耳鼻喉科 |行业:制药
  • 记录 4:这是与客户“WST”关联的联系人

  • 亨利·约翰逊 客户:WST |分割:企业 |行业:制药
  • 因此,通过这种方式,记录最有可能在评分时显示,但我想要相关名称 首先显示的记录 4 是联系人,它应该取代记录 2,因为 Johnson 是姓氏

    最佳答案

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

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

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

    尝试用不同的值(value)观来提升,我相信它会起作用。 (客户 100,详细信息 90)。

    更新

    您似乎正在分别对名字和姓氏进行索引。如果您有一个“全名”字段并通过它进行提升,您可能会得到预期的结果。另一种选择是使用这些字段创建评分配置文件:

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

    关于Azure 搜索相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38993696/

    相关文章:

    java - Cosmosdb 保存的数据无法在门户中找到,而是从 azure-documentdb-spring-boot-starter 中找到

    azure - 如何检索 Azure 搜索索引的内容?

    c# - 作为单独实例运行的单例 Azure 函数

    azure - 从 powershell azure 中提取组 ID 字符串

    azure - Azure 搜索是否处理同义词

    用于中缀搜索的 Azure 搜索 N gram Tokenizer 配置

    azure-cognitive-search - Azure 搜索重试策略

    Azure 搜索索引 - 访问搜索资源管理器中无法检索的字段

    azure - 为什么我收到 Vertex 失败 : Too Many Columns on multiple directories but not single files?

    html - 从 html 链接中的 Azure 存储下载