簡體   English   中英

建模要在DocumentDB和Azure搜索中使用的數據

[英]Modeling data to be used in DocumentDB and Azure Search

這是我遇到的另一個問題的后續問題- 與Azure搜索連接后使用Document DB的好處

將數據存儲在DocumentDB中並與Azure Search集成需要您對數據進行兩次建模-一次是針對DocDB中的文檔,另一次是針對Azure Search中的搜索實體。

有人成功做到了嗎? 有什么方法可以重用在DocDB中定義為Azure搜索中的搜索實體的文檔?

編輯:我已經與索引器集成在一起,以允許在Azure搜索中進行搜索,並且搜索本身的效果很好。 我現在面臨以下情況-我使用對DocumentDB進行查詢的項目來獲取項目,該查詢對多個屬性進行過濾。 如果要允許使用同一組過濾器進行搜索,則需要指定用作索引字段的屬性。 因此,通過指定這些字段,我實質上是在創建一個新的數據模型(它是我在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作為可過濾字段,然后重新索引。 因此,索引器的字段列表原來是我的類的屬性的重復,這也導致代碼耦合。 有沒有辦法有效地解決這個問題?

成百上千的客戶已成功使用DocumentDB / Search集成。 但是,您需要記住,盡管DocumentDb支持存儲任意JSON文檔,但是Azure搜索當前僅支持由基本類型和字符串數組組成的“平面”文檔。 因此,您可能需要使用數據源的查詢參數將DocumentDb文檔“展平”為搜索模式的形狀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM