微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Azure 搜索中按查询更新字段?

如何解决如何在 Azure 搜索中按查询更新字段?

所以我试图通过 api 更新搜索索引中的记录,当我提供索引键时,它工作正常,例如

{  
  "value": [  
    {  
      "@search.action": "merge","hotelid": "4618416","HotelName":"Gacc Capital"      
    }
  ]  
} 

然而,由于索引的性质和结构是从不同的数据库创建的,因此索引的主键并非在所有数据库中都存在。

参见下面的示例,其中字段“ContactName”存储在不同的数据库中,

  "value": [
        {
            "@search.score": 1,"HotelId": "124","HotelName": "Gacc Capital","Description": "Chic hotel near the city.  High-rise hotel in downtown,walking distance to theaters,restaurants and shops,complete with wellness programs."              
            "Category": "Paid","Amount": "£123456","ContactId": "456","ContactName":"Mr David Koh",]  
    } 

每当发生变化时我都必须更新特定字段的问题,例如,如果有人将他们的名字从“David Koh 先生”更改为“David Warner Koh 先生”,我需要一种方法来更新 contactid 所在的所有记录456

有没有办法解决这个问题?或者我之前错过了一块拼图!

不确定是否可以在 azure search sdk (c#) 中使用,但如果它比 API 效果更好,我很乐意在此之前提供它。

解决方法

我假设您有两种不同类型的关系记录。从你的问题看不清楚。

为了保持关系数据的更新,您可以在实际数据库中进行数据维护,该数据库的视图类似于您的索引的外观。然后将该视图编入索引。

或者,您可以自己实现逻辑。只需查询包含具有特定 ID 的联系人的所有记录 ID,然后像上面那样更新每条记录。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。