初めてAzure Searchを使用しています。私は、生成されたデータセットを使用してこの例をフォローしました。今私は自分のデータベースでAzure検索を実装したいと思います。Azure Search with documentDBでデータが見つかりません
これは、インデックスを作成するコレクションのアイテムの例です。
{
"_id" : "Watch",
"name" : "Watch",
"cloudProvider" : "azure",
"channel" : "C6SELFQMD",
"services" : [
"azure-backup",
"azure-data-lake-analytics",
"backup",
"blobstorage",
"site-recovery",
"storage"
],
"__v" : 0
}
Azureの検索自体が偶数フィールドを検出しません。
私は手動でフィールドを追加した場合、それは無駄なデータを返します。
これは私がやっている段階です。誰かがなぜこれが起こっているのか知っていますか?現時点で私のコレクションには2つのアイテムしかありませんが、これは問題ではないと思いますか?
更新: 問題は私のID( "_id")の前にアンダースコアがあることです。今、私はfieldMappingsを使ってこの問題を解決しようとしています。しかし、APIの応答は次のとおりです。
{
"error": {
"code": "",
"message": "Data source does not contain column '_id', which is required because it maps to the document key field 'id' in the index 'index'. Ensure that the '_id' column is present in the data source, or add a field mapping that maps one of the existing column names to 'id'."
}
}
値($ t、$ vなど)から、データソースはDocumentDB APIを使用したCosmos DBアカウントではないようです。 Cosmos DBアカウントのAPIを確認してください。 –
私はそれがDocumentDB APIを使用してCosmos DBアカウントで実行されることを100%確信しています。私はプロパティ "_id"を持っているので、このエラーがトリガすることができますか?私はアンダースコアが問題を作り出していると思います。 –
'フィールド名がアンダースコアで始めることはできないので、間違いなく" _id "' - >というプロパティがあるので、このエラーが発生する可能性があります。ここにある命名規則を参照してください:https://docs.microsoft.com/en-us/rest/api/searchservice/naming-rules。私は$ v、$ tのプロパティのためにコメントをしました。私はCosmos DBアカウントのテーブルAPIを使って見てきました。 –