這是一個後續問題到另一個問題,我有 - Benefits of using Document DB after connecting with Azure Search建模數據
存儲在DocumentDB您的數據和整合與Azure的搜索需要你你的數據模型兩次 - 一次爲DocDB中的文檔和另一個用於Azure搜索中的搜索實體。
有人這樣做成功嗎?有沒有辦法可以將我在DocDB中定義的文檔重用爲Azure搜索中的搜索實體?
編輯:我已經與一個索引器集成在一起,以便在Azure搜索中進行搜索,並且搜索本身效果很好。我現在面臨以下情況 - 我使用DocumentDB上的查詢來獲取項目,這些項目在多個屬性上進行過濾。如果我想允許使用同一組過濾器進行搜索,則需要指定我用作索引字段的屬性。因此,通過指定這些領域,我基本上是建立一個新的數據模型(它的I類有DocumentDB的複製)
例如,假設我有下面的類,我存儲在DocDB:
class MyItem
{
public string Name { get; set;}
public double Price { get; set; }
}
我創建了一個索引,指定我想要在名稱上進行搜索並篩選價格。現在,我添加新功能的類,以便它也顯示了可用性
class MyItem
{
public string Name { get; set;}
public double Price { get; set; }
public bool IsAvailable { get; set; }
}
現在我需要IsAvailabile添加爲過濾場在我的指標,並重新索引。所以索引器的字段列表就是我的類的屬性的重複,也導致了我的代碼中的耦合。有沒有辦法有效地解決這個問題?
我不確定我是否理解這個問題。您是否在Azure搜索中使用索引器從數據庫中提取數據?許多客戶使用此功能,因此應該符合「成功完成」的條件。你有什麼具體問題嗎? –
我已更新我的問題並提供更多詳細信息 – PartlyCloudy
如果您的文檔是這樣的,那麼根本就不需要索引查詢 - 默認查詢類似於'select * from c where c._ts> = @HighWaterMark按c._ts'順序排列,因此您的DocumentDb文檔中的任何新字段都會自動提取。但是,您確實需要爲搜索索引架構添加新字段。 –