SharePoint Search API



我正在联机使用SharePoint的文档库进行文档存储。我已将某些自定义列添加到SharePoint文档库中,以存储文档的其他元数据。

SharePoint列屏幕截图

现在,我想通过REST API在SharePoint中进行全文搜索。我们可以对自定义列数据进行全文搜索。但是,还有一个要求是根据某些列(如"ASSET TYPE=image"(筛选结果。

如何实现此功能?我当前的查询如下:

_api/search/query?querytext='(cloud computing)'&querytemplate='{searchTerms} path:"https://DOMAIN_NAME.sharepoint.com/sites/LOREM_IPSUM/Shared%20Documents" ContentTypeId:0x0* IsDocument:true'&SummaryLength=100&RowLimit=500&culture=1033&BypassResultTypes=true&EnableQueryRules=false&ProcessBestBets=false&ProcessPersonalFavorites=false&properties='EnableDynamicGroups:true'

搜索API为自定义列使用"托管属性",当您创建自定义属性时,它将自动创建一个名称类似于的托管属性

INTERNALNAMEPROPERTYtype

例如,如果您的"ASSET TYPE"列的内部名称为"ASSET_TYPE",并且它是"单行文本"类型的列,则您的托管属性将为:

ASSET_TYPEOWSTEXT

您也可以通过以下网址搜索您的托管物业名称:

站点配置>>管理搜索模式>>托管属性

您可以在这里了解更多关于托管属性的信息:https://learn.microsoft.com/en-us/sharepoint/technical-reference/automatically-created-managed-properties-in-sharepoint

现在,考虑到如果您的托管属性的名称为ASSET_TYPEOWSTEXT,您可以在搜索查询中使用它,如下所示:

ASSET_TYPEOWSTEXT=image

因此,您的搜索查询将如下所示:

_api/search/query?querytext='(cloud computing)'&querytemplate='{searchTerms} path:"https://DOMAIN_NAME.sharepoint.com/sites/LOREM_IPSUM/Shared%20Documents" ContentTypeId:0x0* IsDocument:true ASSET_TYPEOWSTEXT=image'&SummaryLength=100&RowLimit=500&culture=1033&BypassResultTypes=true&EnableQueryRules=false&ProcessBestBets=false&ProcessPersonalFavorites=false&properties='EnableDynamicGroups:true'

我建议您使用内容搜索Web部件以简单的方式测试您的查询。

最新更新