如何在 Azure 搜索中索引可为空的字段
How to index nullable fields on azure search
我正在使用 nodejs 在 azure search 上创建索引,
{
"name": "price_positioning",
"type": "Edm.ComplexType",
"fields": [
{
"name": "id",
"type": "Edm.Double",
"filterable": false
},
{
"name": "name",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"sortable": true,
"facetable": true
}
]
},
而 json 是:
[{"price_positioning":""},
{
"price_positioning":{"id":1.1,"name":"test"}
}]
当我尝试执行程序时,它给出了这个错误:
“请求无效。详细信息:参数:尝试读取 属性 'price_positioning' 的值时发现具有非空值的 'PrimitiveValue' 节点;但是, 'StartArray' 节点、'StartObject' 节点或具有空值的 'PrimitiveValue' 节点。\r\n"
你知道我们如何索引可为空的字段吗?
如果您没有 price_positioning
的值,您可以将该属性完全排除在请求之外或将其标记为 null
。
例如,像这样将值设置为 null 将起作用:
"price_positioning": null
或者,如果您愿意,您仍然可以创建 price_positioning
对象并将其每个属性标记为空:
"price_positioning": {
"id": null,
"name": null
}
我正在使用 nodejs 在 azure search 上创建索引,
{
"name": "price_positioning",
"type": "Edm.ComplexType",
"fields": [
{
"name": "id",
"type": "Edm.Double",
"filterable": false
},
{
"name": "name",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"sortable": true,
"facetable": true
}
]
},
而 json 是:
[{"price_positioning":""},
{
"price_positioning":{"id":1.1,"name":"test"}
}]
当我尝试执行程序时,它给出了这个错误: “请求无效。详细信息:参数:尝试读取 属性 'price_positioning' 的值时发现具有非空值的 'PrimitiveValue' 节点;但是, 'StartArray' 节点、'StartObject' 节点或具有空值的 'PrimitiveValue' 节点。\r\n"
你知道我们如何索引可为空的字段吗?
如果您没有 price_positioning
的值,您可以将该属性完全排除在请求之外或将其标记为 null
。
例如,像这样将值设置为 null 将起作用:
"price_positioning": null
或者,如果您愿意,您仍然可以创建 price_positioning
对象并将其每个属性标记为空:
"price_positioning": {
"id": null,
"name": null
}