有2个相关表:categories
和products
。 products
表格包含字段categoryId
,其中包含id
个类别。如何索引products
表来获取name
或其他任何类别?
每个表有一个索引器和一个索引。
// categories indexer
{
"name": "categories",
"dataSourceName": "categories",
"targetIndexName": "products",
"fieldMappings": [
{
"sourceFieldName": "id",
"targetFieldName": "id"
},
{
"sourceFieldName": "name",
"targetFieldName": "name"
}
}
// products indexer
{
"name": "products",
"dataSourceName": "products",
"targetIndexName": "products",
"fieldMappings": [
{
"sourceFieldName": "id",
"targetFieldName": "id"
},
{
"sourceFieldName": "name",
"targetFieldName": "name"
},
{
"sourceFieldName": "categoryId",
"targetFieldName": "categoryId"
}
}
// index
{
"name": "products",
"fields": [
{
"name": "id",
"type": "Edm.String",
...
},
{
"name": "categoryId",
"type": "Edm.String",
...
},
{
"name": "category_name",
"type": "Edm.String",
...
},
{
"name": "name",
"type": "Edm.String",
...
}
...
答案 0 :(得分:1)
创建一个连接categories
和products
表的视图,可能会将所有caregoryIds非规范化为产品文档的集合字段。 (您可以对其他类别数据使用相同的方法)。为该视图设置索引器。
另一种方法是为产品和类别创建两个单独的搜索索引,并在搜索客户端代码中执行联接。