Azure搜索中的动态字段映射

用户名

我正在Azure搜索服务中创建索引,并正在寻找一种允许提交未知文件的方法。我的文档是半结构化的,这意味着我不了解前几个字段。但我希望能够灵活地添加带有其他字段的文档。

例如:

{

    "name":"name1",
    "description":"description"
    "unknown,_simple":"test",
    "unknown_complex": [{
       "male":20,
       "female":30 
    }]
}

在上面的示例中,我知道名称和描述字段,因此它们通过正确的映射添加到索引中。但是不知道unknow_simple和unknown_complex类型。用户在创建文档时可以提交这些文件。目前,Azure Search Rest API抱怨以下错误消息

该请求无效。详细信息:参数:找到没有类型名称的资源,但是未指定预期的类型。为了允许输入没有类型信息的信息,指定模型时还必须指定期望的类型

我该如何实现?谢谢你的帮助。

法里德·乌丁·基隆

据我了解,您希望将索引设计为半结构化,“名称”和“描述”是两个固定的字段,并且具有固定的数据类型。您将不确定两个灵活的字段的数据类型。实际上,您可以将其数据类型定义为字符串。

假设您要在该文件中存储一个json对象,只需对json对象进行字符串化处理,以便可以在该字段中设置此字符串值。下次需要时将此值转换为json。

如果要在“动态”字段中查询json对象的某些字段,则可以使用json字符串片段作为查询键进行搜索,如下所示: 在此处输入图片说明

让我们假设“ Description”字段是我的Dynamic字段,其值是json字符串,我可以使用键片段来获取所需的结果。但是,它并不是那么优雅。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章