首页 > 解决方案 > 无法在 spfx 应用程序中使用 pnp.sp.search 获取 documentid

问题描述

在一个较旧的 JavaScript 应用程序中,我使用关键字查询来搜索文档属性,并且可以添加要检索的“DlcDocID”字段(文档 ID)。

我目前正在开发该应用程序的 Spfx 版本,并使用 pnp.sp.search 来获取文档数据。这样我可以得到 UniqueId 和 DocId,但不能得到 Document Id。如何在搜索结果中包含此参数?

额外的:

我使用的是 1.3.11,这段代码

    pnp.sp.search(
      {
         Querytext:query,
         RowLimit:rows,
         StartRow:start,
         SelectProperties: ["DocId"
         , "UniqueId"
         ,"FileType"
         ,"ServerRedirectedEmbedURL"
         , "ServerRedirectedPreviewURL"
         ,"LastModifiedTime"
         ,"Write"
         ,"Size"
         ,"SPWebUrl"
         ,"ParentLink"
         ,"Title"
         ,"HitHighlightedSummary"
         ,"Path"
         ,"Author"
         ,"LastModifiedTime"
         ,"DlcDocID"
        ],

但 DlcDocID 永远不会被检索到。

标签: sharepointspfx

解决方案


查看文档DlcDocID应该是可检索的(默认情况下它是可查询和可检索的)。您是否尝试过使用SearchQueryBuilderand selectProperties

const q = SearchQueryBuilder().text(yourQuery).
    .rowLimit(10).processPersonalFavorites.selectProperties('*', 'DlcDocID');
const results = await sp.search(q);

SearchQueryBuilder 参考


推荐阅读