これは私が持っていた別の質問へのフォローアップの質問です - Benefits of using Document DB after connecting with Azure SearchDocumentDBで使用するデータ・モデリングとAzureの検索
DocumentDBでデータを保存し、Azureの検索との統合は二回、あなたのデータをモデル化する必要があります - のために一度DocDBの文書とAzure Searchの検索エンティティの文書です。
これを成功させた人はいますか? Azure Searchの検索エンティティとしてDocDBで定義した文書を再利用する方法はありますか?
EDIT:私はすでにAzure Searchで検索できるインデクサーと統合しており、検索自体は素晴らしいです。私は今、以下のシナリオに直面しています。いくつかのプロパティをフィルタリングするDocumentDBのクエリを使用してアイテムを取得します。同じフィルタセットで検索を許可するには、インデックスのフィールドとして使用するプロパティを指定する必要があります。
class MyItem
{
public string Name { get; set;}
public double Price { get; set; }
}
:だからこれらのフィールドを指定することによって、私は基本的に私はDOCDBに格納以下のクラスがあるとし、例えば、新しいデータモデル(私はDocumentDBを持っているクラスのその重複)
を作成しています
私は、名前を検索して価格をフィルタリングすることを指定して、インデックスを作成します。それはまた、今私は濾過可能私のインデックスのフィールド、および再インデックスとしてIsAvailabileを追加する必要があります。可用性
class MyItem
{
public string Name { get; set;}
public double Price { get; set; }
public bool IsAvailable { get; set; }
}
を示しているように、今、私はクラスに新しい機能を追加しますしたがって、インデクサーのフィールドリストはクラスのプロパティの複製であり、コード内での結合も発生します。これに効果的に対処する方法はありますか?
私は質問を理解しているか分かりません。 Azure SearchでIndexerを使用してDocument DBからデータを取得していますか?多くの顧客がこの機能を使用しているため、「これを成功させました」と認定する必要があります。特定の問題がありますか? –
私の質問に詳細が追加されました – PartlyCloudy
文書がフラットなものであれば、インデクサーのクエリはまったく必要ありません。デフォルトのクエリは 'select * from cと似ていますが、どこにc._ts> = ' @HighWaterMark order by c._ts'を使用すると、DocumentDbドキュメントの新しいフィールドが自動的に取得されます。ただし、検索インデックススキーマに新しいフィールドを追加する必要があります。 –