Start a crawl manually via SOAP or REST WebService

自作多情 提交于 2019-12-11 05:28:40

问题


On a SharePoint 2013 on premise installation, we have configured an incremental crawl, that runs every 15 minutes.

Now we need a possibility to start this crawl manually, too. Is there a WebService we can call to start the crawl manually? Maybe even a possibility to start the crawl on a smaller scope, like only a list or website?


回答1:


You may just love Simple HTTP api for Executing PowerShell Scripts

In cases where you want to simply invoke a PowerShell script remotely, a REST api is a good choice since all modern programming languages make it simple to perform a HTTP GET operation.

and Simple HTTP api for executing PowerShell scripts (with source code) which is an out of the box solution of what the above is trying to accomplish. Here are the Windows PowerShell cmdlets to administer and configure search in SharePoint 2013 for more details.


Please also look at SharePoint Windows PowerShell Remoting if you are interested on more nitty-gritty remote SharePoint control.




回答2:


Try to use powershell interface for this purpose.

It is pretty simple when you think about it. We can use the Get-SPEnterpriseSearchCrawlContentSource command to get a ContentSource object. After we have a reference to this object, we can start, stop, and pause crawls to our heart’s content. This class has a few methods that you might be interested in: StartFullCrawl, StartIncrementalCrawl, StopCrawl, PauseCrawl, and ResumeCrawl. What each method does should go without explanation.

If it is necessary, you can create a wrapper for powershell call. Your web service will call powershell for this purpose.



来源:https://stackoverflow.com/questions/29095317/start-a-crawl-manually-via-soap-or-rest-webservice

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!