首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rest API搜索结果与搜索页面返回的结果不同

Rest API搜索结果与搜索页面返回的结果不同
EN

Stack Overflow用户
提问于 2018-11-09 01:39:39
回答 1查看 151关注 0票数 0

我有一个搜索rest API,当我通过共享点设计器运行它时,我得不到相同的数字,如果结果是由共享点网站上的搜索页面返回的,我尝试使用不同的源id,也尝试使用结果源的默认源id,但我总是得到相同的结果,所以我不确定我做错了什么。我的另一个想法是,有没有一种方法可以从内置到共享点的默认搜索功能中获得所有结果?

代码语言:javascript
复制
 var ct = new SP.ClientContext.get_current();
 var keywordQuery = new Microsoft.SharePoint.Client.Search.Query.KeywordQuery(ct);

 var queryStr = ctx.DataProvider.get_currentQueryState().k;
 keywordQuery.set_queryText(queryStr);


 keywordQuery.set_trimDuplicates(false);  
 keywordQuery.set_enableSorting(true);                                  
 keywordQuery.set_sourceId=("xxxxxx-xxxx-xxxx-xxx-xxxxxxx");  
 keywordQuery.set_rowLimit(500);


 keywordQuery.set_trimDuplicates(false);

 var searchExecutor = new Microsoft.SharePoint.Client.Search.Query.SearchExecutor(ct);
 var results = searchExecutor.executeQuery(keywordQuery);


   ct.executeQueryAsync(onQuerySuccess, onQueryFail);

   function onQuerySuccess() 
      {
      results.m_value.ResultTables[1].ResultRows.forEach(function (row)
      {
       var Aname1 = row.name;
       console.log(row);
                if (!$isNull(Aname1))

           {

           var name= Aname1;
               console.log(name);

           }


      });



      }



       function onQueryFail() 
       {

       }
EN

回答 1

Stack Overflow用户

发布于 2018-11-09 03:01:46

通常,结果是分页的。它的意思是,不是一次返回所有结果,而是将结果分成几个部分,每个部分(页面)发送一次。

例如,当您在google.com中搜索时,而不是返回全部1,50,000,000...结果,Google只返回10个左右的结果。要获得下10个结果,请单击页面底部的分页菜单中的next按钮。

这样做是为了使API和网络不会过载。想象一下包含15,000,000条记录的响应会有多大。

这就是你的遭遇。在您收到的响应中,查看是否有包含下一页URL的记录,Microsoft通常是这样做的。如果你调用这个URL,你会得到下一个页面。如果没有,请查看您调用的URL是否在某个地方有一个参数,您可以在其中选择页面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53213320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档