[英]Azure Cognitive Search Ignore fields
有沒有辦法忽略索引上不存在或索引器上沒有字段映射的任何字段? 或者在 Indexer 或 Import 上指定忽略特定字段的方法?
我正在創建一個 Azure 搜索索引,其中數據源是 CosmosDB。 由於 CosmosDB 具有靈活的架構,我可能會定期添加新字段。 我希望這些不被索引,它仍然是原始模式。 有沒有辦法在索引或索引器上設置在向索引添加新項目時忽略新字段(甚至這個特定字段)?
我在字段映射文檔中沒有看到任何可以忽略的字段: https://learn.microsoft.com/en-us/azure/search/search-indexer-field-mappings
解決方案取決於您使用的 model。
請參閱https://docs.microsoft.com/en-us/azure/search/cognitive-search-output-field-mapping
因此,解決方案是不要忽視任何事情。 你寧願明確 map 你想要的位。
FWIW:我有一個類似的問題。 我已經有兩個模型,CosmosDB model 和 AzureSearch model。問題是我需要在后者上添加一個標志,以防萬一它沒有被標記,對索引執行刪除操作,否則執行更新。 (在我的例子中,將標志從一個 model 傳遞到另一個是最便宜的方式,否則我需要進行大的重構)。
由於我不需要 SeachModel 上的標志(持久化),因此使用JsonIgnore屬性對我有用。 如果您需要該值, FieldBuilderIgnore屬性可能會有所幫助,請參閱https://learn.microsoft.com/en-us/do.net/api/azure.search.documents.indexes.fieldbuilderignoreattribute?view=azure-do.net .
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.