gpt4 book ai didi

Azure 搜索索引器 : cannot create an indexer based on mongodb data source with a collection containing a field named '$ref'

转载 作者:行者123 更新时间:2023-12-03 03:29:39 24 4
gpt4 key购买 nike

如标题中所述,我在创建索引器(同时使用门户 Azure 和 Rest api)时遇到奇怪的错误。

{
"error": {
"code": "",
"message": "Error with data source: Additional content found in JSON reference object. A JSON reference object should only have a $ref property. Path '$id'. Please adjust your data source definition in order to proceed."
}
}

数据源是通过 Azure 门户创建的,未指定删除或更改策略。

comosdb (MongoDb) 中的 JSON 结构帖子收藏

{
"_id": {
"$oid": "....."
},
"author": {
"$ref": "user",
"$id": {
"$oid": "...."
}
},
"_class": "com.community.domain.Post"
}

位于索引器定义下方

{
"dataSourceName": "fshco-post",
"targetIndexName": "index",
"fieldMappings": [
{
"sourceFieldName": "_class",
"targetFieldName": "class"
}

],
"parameters": {
"batchSize": 1000,
"maxFailedItems": null,
"maxFailedItemsPerBatch": null
}

}

为了确认问题出在 $ref 属性上。我使用了一个包含一个文档的集合 Post,但作者字段中没有子属性 $ref,并且索引成功。

我已尝试使用技能组 **ShaperSkill ** 来修改 $ref 命名,但也没有出现相同的错误。之后,我了解到问题可能出在技能组执行阶段之前的破解数据阶段。 indexing phases

下面是我使用过的定义技能:

 {
"@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
"name": "#1",
"description": null,
"context": "/document",
"inputs": [
{
"name": "refto",
"source": "/document/author/$ref"
},
{
"name": "id",
"source": "/document/author/$id"
}
],
"outputs": [
{
"name": "output",
"targetName": "post_author" --> same name as the index attribute
}
]
}
]

在索引器中

    "skillsetName": "skillpostshaper",
"outputFieldMappings": [
{
"sourceFieldName": "/document/post_author",
"targetFieldName": "post_author"
}
],

有什么明显我错过的事情吗?

最佳答案

您遇到的错误与您在 JSON 文件中对 $ref 的使用有关,与索引器本身无关。 JSON 文件中的 $ref 关键字是“保留字”,只能用于指向引用。正如评论的一部分所建议的,在索引数据源之前修改数据源中的字段名称,通过删除 $ref 属性或将其重命名为不同的字段名称,应该让索引器读取 JSON 文件以您期望的方式。

这里是对 JSON documentation 的引用了解更多信息。

关于Azure 搜索索引器 : cannot create an indexer based on mongodb data source with a collection containing a field named '$ref' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75034887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com