如何将 Azure 认知搜索结果存储到 Cosmos DB

How to store Azure Cognitive Search result into Cosmos DB

在Azure Cognitive Search的SkillSet中,我们可以定义一个知识库,以便将搜索结果保存到Azure table存储。

例如,下面的技能集允许将搜索结果存储在 Azure table 存储中。

{
    "name": "your-skillset",
    "skills": [
    …your skills
    ],
"cognitiveServices": {
… your cognitive services key info
    },

    "knowledgeStore": {
    "storageConnectionString": "an Azure storage connection string",
    "projections" : [
        {
        "tables": [
            { "tableName": "MainTable", "generatedKeyName": "SomeId", "source": "/document/EnrichedShape" },
            { "tableName": "KeyPhrases", "generatedKeyName": "KeyPhraseId", "source": "/document/EnrichedShape/*/KeyPhrases/*" },
            { "tableName": "Entities", "generatedKeyName": "EntityId", "source": "/document/EnrichedShape/*/Entities/*" }
        ]
        },
        {
        "objects": [ ]
        },
        {
            "files": [ ]
        }
    ]
    }
}

我已将 storageConnectionString 修改为来自 Cosmos DB 的那个,期望将搜索结果投影到 cosmos DB,但它没有并显示错误消息 storageConnectionString 不是 table 连接字符串.

是否可以通过配置技能集将 Azure 搜索结果投影到 Cosmos DB?

Cosmos DB 投影目前无法使用知识存储功能,但我们已将其列为未来可能的投影选项。如果您强烈认为这是一个选项,您可以在我们的 user voice forum.

上请求此功能

与此同时,如果您愿意做更多的设置工作,您可以随时实施 custom web api skill 来对技能集数据做任何您喜欢的事情,包括将其上传到不同的数据接收器。