Azure 搜索中的动态字段映射
Dynamic field mapping in Azure Search
我正在 Azure 搜索服务中创建索引并寻找一种允许提交未知文件的方法。我的文档是半结构化的,这意味着我预先知道的领域很少。但我希望能够灵活地添加具有附加字段的文档。
例如:
{
"name":"name1",
"description":"description"
"unknown,_simple":"test",
"unknown_complex": [{
"male":20,
"female":30
}]
}
在上面的例子中,我知道 Name 和 Description 字段,所以它们被添加到具有正确映射的索引中。但是 unknow_simple 和 unknown_complex 类型是不知道的。用户可以在创建文档时提交这些。现在 Azure Search Rest API 正在抱怨以下错误消息
The request is invalid. Details: parameters : A resource without a
type name was found, but no expected type was specified. To allow
entries without type information, the expected type must also be
specified when the model is specified
我怎样才能做到这一点?谢谢你的帮助。
据我了解,您想将索引设计为半结构化,"name" 和 "description" 是两个固定字段,具有固定数据类型。将有两个您不确定其数据类型的灵活字段。实际上,您可以将其数据类型定义为字符串。
假设您要在该字段中存储一个 json 对象,只需将您的 json 对象字符串化,以便您可以在该字段中设置该字符串值。下次需要时将此值转换为 json。
如果你想在你的动态字段中查询json对象的某个字段,你可以只使用json字符串片段作为查询键来搜索,如下所示:
假设 "Description" filed 是我的动态字段,它的值是一个 json 字符串,我可以使用键片段来获得我想要的结果。但它并不是那么优雅。
我正在 Azure 搜索服务中创建索引并寻找一种允许提交未知文件的方法。我的文档是半结构化的,这意味着我预先知道的领域很少。但我希望能够灵活地添加具有附加字段的文档。
例如:
{
"name":"name1",
"description":"description"
"unknown,_simple":"test",
"unknown_complex": [{
"male":20,
"female":30
}]
}
在上面的例子中,我知道 Name 和 Description 字段,所以它们被添加到具有正确映射的索引中。但是 unknow_simple 和 unknown_complex 类型是不知道的。用户可以在创建文档时提交这些。现在 Azure Search Rest API 正在抱怨以下错误消息
The request is invalid. Details: parameters : A resource without a type name was found, but no expected type was specified. To allow entries without type information, the expected type must also be specified when the model is specified
我怎样才能做到这一点?谢谢你的帮助。
据我了解,您想将索引设计为半结构化,"name" 和 "description" 是两个固定字段,具有固定数据类型。将有两个您不确定其数据类型的灵活字段。实际上,您可以将其数据类型定义为字符串。
假设您要在该字段中存储一个 json 对象,只需将您的 json 对象字符串化,以便您可以在该字段中设置该字符串值。下次需要时将此值转换为 json。
如果你想在你的动态字段中查询json对象的某个字段,你可以只使用json字符串片段作为查询键来搜索,如下所示:
假设 "Description" filed 是我的动态字段,它的值是一个 json 字符串,我可以使用键片段来获得我想要的结果。但它并不是那么优雅。