私はDocumentDbで少数のドキュメントを作成しました。私は、Azure検索サービスを使用して、単一ドキュメント内のマルチレベルまたは 親子オブジェクトを検索する方法を探しています。複数レベルのドキュメント検索でサポートされているモデルは何ですか?
あなたは誰でも私を助けることができます/任意のリンク。
私はDocumentDbで少数のドキュメントを作成しました。私は、Azure検索サービスを使用して、単一ドキュメント内のマルチレベルまたは 親子オブジェクトを検索する方法を探しています。複数レベルのドキュメント検索でサポートされているモデルは何ですか?
あなたは誰でも私を助けることができます/任意のリンク。
Azure Searchでドキュメントをフラット化する必要があるため、これを行うためにDocumentDBにクエリを作成する必要があります。はじめに、document hereがあります。これはAzure Searchでこれらのより複雑なデータ型をモデル化する方法についていくつかの情報を提供します。
また、私はDocumentDBでこの平坦化を行うことをお勧めします。これを行うには、ユーザー定義関数(UDF)がこれを行うのに最適な方法です。ここでは、配列を渡して "子"型のすべての項目を取得し、配列として戻すことができる例を示します。だから、
SELECT
c.userName,
udf.convertToArray(c.addresses, "city") as City
FROM c
c.addressesはこのように見えた場合::
function convertToArray (data, child) {
var resultArray = [];
for (var i = 0; i < data.length; i++)
{
resultArray.push(data[i][child]);
}
return resultArray;
}
はその後DocumentDB以内に、あなたはこのようなクエリの何かをするだろう
[
{
"city": "Toronto",
"country": "Canada"
},
{
"city": "Seattle",
"country": "USA"
}
]
UDFからの出力は以下のようになります:
["Toronto", "Seattle"]
c Collectionデータ型のAzure Searchにロードされます。
なぜDocumentDBのクエリ機能を使用しないのですか? –
私は少し質問が混乱しています - あなたは標準的な質問について話しているのですか、またはサブ文書の内容でAzure検索を使用していますか?両方のドキュメントがたくさんあります。そして、あなたはドキュメントへのリンクを求めています。ドキュメンテーション要求の質問は話題にはなりませんが、例えば、「azure search documentdb」を簡単に検索すると、良いリソースが得られます。 –
また、この質問は、あなたの以前の質問に非常に関連しています(または正確に同じです)。[ここ](https://stackoverflow.com/questions/39634568/unable-to-search-child-object-fields- in-azure-search-servicesdocumentdb)を参照してください。同じことについて複数の質問を投稿しないでください。この質問は閉鎖/削除する必要があります。 –