在 Azure 搜索中为 Sharepoint Online 站点编制索引
Indexing Sharepoint Online Site in Azure search
我正在尝试为 Sharepoint 网站文档库编制索引,我遵循了本教程。
https://docs.microsoft.com/en-us/azure/search/search-howto-index-sharepoint-online
一切正常我触发了我的技能组合并检索了标准 Sharepoint 列。
我的主要问题是我想检索在此库中创建的自定义列。
例如,我有一个列显示为“文档用法”,技术名称是“DocumentUsage”,正如我在文档中看到的那样,要获取自定义字段,您需要在创建的数据源的连接字符串中指定它在 Azure 搜索中,如下所示:
"container": { "name": "useQuery", "query": "includeLibrariesInSite=https://myorganisation.sharepoint.com/sites/mysite;additionalColumns:DocumentUsage,UploadableDocument,DocumentFormat,Langage,TargetForUse,PaidContent,PublicationDate,Activity,TargetApplication,ProductCategory,SerialNumber,KeyWords"
我在我的索引器中做了一个字段映射,如下所示:
"fieldMappings": [
{
"sourceFieldName": "metadata_spo_site_library_item_id",
"targetFieldName": "id",
"mappingFunction": {
"name": "base64Encode",
"parameters": null
}
},
{
"sourceFieldName": "content",
"targetFieldName": "content",
"mappingFunction": null
},
{
"sourceFieldName": "DocumentUsage",
"targetFieldName": "document_usage",
"mappingFunction": null
},
{
"sourceFieldName": "UploadableDocument",
"targetFieldName": "uploadable_document",
"mappingFunction": null
},
{
"sourceFieldName": "DocumentFormat",
"targetFieldName": "document_format",
"mappingFunction": null
},
{
"sourceFieldName": "Langage",
"targetFieldName": "language_sp",
"mappingFunction": null
},
{
"sourceFieldName": "TargetForUse",
"targetFieldName": "target_for_use",
"mappingFunction": null
},
{
"sourceFieldName": "PaidContent",
"targetFieldName": "paid_content",
"mappingFunction": null
},
{
"sourceFieldName": "PublicationDate",
"targetFieldName": "publication_date",
"mappingFunction": null
},
{
"sourceFieldName": "Activity",
"targetFieldName": "activity",
"mappingFunction": null
},
{
"sourceFieldName": "TargetApplication",
"targetFieldName": "target_application",
"mappingFunction": null
},
{
"sourceFieldName": "ProductCategory",
"targetFieldName": "product_category",
"mappingFunction": null
},
{
"sourceFieldName": "SerialNumber",
"targetFieldName": "serial_number",
"mappingFunction": null
},
{
"sourceFieldName": "KeyWords",
"targetFieldName": "key_words",
"mappingFunction": null
}
],
除了我额外的共享点自定义列外,一切正常。
我的问题是检索到了标准字段,但没有检索到数据源查询中指定的自定义字段。
我必须输入列的技术名称或显示名称吗?
是否有检索特殊列的技巧?
如您所见,检索到了标准的,但没有检索到文档库中填写的自定义的。
在此先感谢您的帮助。
此致
您的数据源中有错字 'container' => 'query' 字段值。 'additionalColumns' (additionalColumns:DocumentUsage) 后有一个冒号,必须用等号 (=) 代替。
尝试将 additionalColumns:DocumentUsage 替换为 additionalColumns=DocumentUsage
我正在尝试为 Sharepoint 网站文档库编制索引,我遵循了本教程。
https://docs.microsoft.com/en-us/azure/search/search-howto-index-sharepoint-online
一切正常我触发了我的技能组合并检索了标准 Sharepoint 列。
我的主要问题是我想检索在此库中创建的自定义列。
例如,我有一个列显示为“文档用法”,技术名称是“DocumentUsage”,正如我在文档中看到的那样,要获取自定义字段,您需要在创建的数据源的连接字符串中指定它在 Azure 搜索中,如下所示:
"container": { "name": "useQuery", "query": "includeLibrariesInSite=https://myorganisation.sharepoint.com/sites/mysite;additionalColumns:DocumentUsage,UploadableDocument,DocumentFormat,Langage,TargetForUse,PaidContent,PublicationDate,Activity,TargetApplication,ProductCategory,SerialNumber,KeyWords"
我在我的索引器中做了一个字段映射,如下所示:
"fieldMappings": [
{
"sourceFieldName": "metadata_spo_site_library_item_id",
"targetFieldName": "id",
"mappingFunction": {
"name": "base64Encode",
"parameters": null
}
},
{
"sourceFieldName": "content",
"targetFieldName": "content",
"mappingFunction": null
},
{
"sourceFieldName": "DocumentUsage",
"targetFieldName": "document_usage",
"mappingFunction": null
},
{
"sourceFieldName": "UploadableDocument",
"targetFieldName": "uploadable_document",
"mappingFunction": null
},
{
"sourceFieldName": "DocumentFormat",
"targetFieldName": "document_format",
"mappingFunction": null
},
{
"sourceFieldName": "Langage",
"targetFieldName": "language_sp",
"mappingFunction": null
},
{
"sourceFieldName": "TargetForUse",
"targetFieldName": "target_for_use",
"mappingFunction": null
},
{
"sourceFieldName": "PaidContent",
"targetFieldName": "paid_content",
"mappingFunction": null
},
{
"sourceFieldName": "PublicationDate",
"targetFieldName": "publication_date",
"mappingFunction": null
},
{
"sourceFieldName": "Activity",
"targetFieldName": "activity",
"mappingFunction": null
},
{
"sourceFieldName": "TargetApplication",
"targetFieldName": "target_application",
"mappingFunction": null
},
{
"sourceFieldName": "ProductCategory",
"targetFieldName": "product_category",
"mappingFunction": null
},
{
"sourceFieldName": "SerialNumber",
"targetFieldName": "serial_number",
"mappingFunction": null
},
{
"sourceFieldName": "KeyWords",
"targetFieldName": "key_words",
"mappingFunction": null
}
],
除了我额外的共享点自定义列外,一切正常。 我的问题是检索到了标准字段,但没有检索到数据源查询中指定的自定义字段。
我必须输入列的技术名称或显示名称吗?
是否有检索特殊列的技巧? 如您所见,检索到了标准的,但没有检索到文档库中填写的自定义的。
在此先感谢您的帮助。
此致
您的数据源中有错字 'container' => 'query' 字段值。 'additionalColumns' (additionalColumns:DocumentUsage) 后有一个冒号,必须用等号 (=) 代替。
尝试将 additionalColumns:DocumentUsage 替换为 additionalColumns=DocumentUsage