我尝试使用查询字符串过滤收件箱,其中有大约10k封电子邮件,最多只能得到250个结果。我使用分页搜索,但MoreAvailable属性为false, TotalCount属性为250,即使有更多的电子邮件符合条件。
var results = service.FindItems(WellKnownFolderName.Inbox,"from: administrator@example.com", view);
但是,如果我使用FindItems而不使用过滤器或像这样的查询字符串:
var results = service.FindItems(WellKnownFolderName.Inbox, view);
我每页最多得到1000个结果,MoreAvailable属性为真,TotalCount是准确的(大约10k)。这将在一次调用中返回所有结果。
如何使用查询字符串或搜索过滤器获得查询的所有结果?由于EWS节流,我将使用分页搜索。
Exchange将REST和EWS中Exchange Search查询的最大结果集限制为250个条目。与OnPrem服务器此值可通过MaxHitsForFullTextIndexSearches属性https://support.microsoft.com/en-us/help/3093866/the-number-of-search-results-can-t-be-more-than-250-when-you-search-em但在Exchange OnLine (Office365)你不能调整该值,需要在250项上限下工作。