Azure 认知搜索忽略字段

标签 azure azure-cognitive-search

有没有办法忽略索引上不存在的任何字段或索引器上没有字段映射?或者在索引器或导入上指定忽略特定字段的方法?

我正在创建一个 Azure 搜索索引,其中数据源是 CosmosDB。由于 CosmosDB 具有灵活的架构,我可能会定期添加新字段。我希望这些不被索引,并且保留原始模式。有没有办法在索引或索引器上设置在向索引添加新项目时忽略新字段(甚至是此特定字段)?

我在字段映射文档中没有看到任何可以忽略字段的内容:https://learn.microsoft.com/en-us/azure/search/search-indexer-field-mappings

最佳答案

解决方案取决于您使用的模型。

  1. 推送模型:通过 Azure 搜索 SDK 推送内容。在这种情况下,您可以完全控制提交搜索的对象,并且您的问题不是问题。如果您不需要某个字段,则不要将其包含在提交搜索的对象中。
  2. 拉取模型:您定义一个索引器,用于从内容源中拉取内容。在这里您可以使用输出字段映射。正如文档所述:“应使用输出字段映射的示例:[当您]从 Cosmos DB 数据库中索引复杂类型时。您希望访问该复杂类型上的节点并将其映射到您的字段中索引。”

参见https://learn.microsoft.com/en-us/azure/search/cognitive-search-output-field-mapping

所以,解决方案是不要忽略任何事情。您宁愿明确地映射您想要的位。

关于Azure 认知搜索忽略字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70976249/

相关文章:

azure - Microsoft Azure EventHub 中的事件保留

Azure 网站 SQL 连接字符串和流量计费

c# - Azure 搜索 OrderBy 不区分大小写

azure - 如何在 azure 搜索中对复杂 json 对象(例如嵌套数组)进行字段映射

sql - Azure SQL 查看辅助(异地复制)数据库的内容

asp.net - 具有 transient 故障处理 block 异常的 Azure Web 角色 : The path is too long after being fully qualified

azure-cognitive-search - Azure 搜索的拼写错误和同义词支持?

c# - 是否可以在 Azure 搜索索引中填充集合?

Python 中使用矢量嵌入的 Azure 认知搜索错误

c# - $filter 上关于 "invalid expression"的 Azure 搜索错误是什么?