Endpoint recommendation to query the index from the Sitecore backend
I would like to query details on a specific document id from the backend of a Sitecore website and was hoping you could give me some advice.
I was thinking about using either the SOAP or REST API, but noticed that the SOAP information hasnât been updated since Dec. 2015 and the release notes for the REST Search API from May 2016 indicate that there will be no features added to the on-premises version.
Since these tools seem to be nearing their end I was wondering what the suggested method of interfacing with on-premises Coveo from server-side code would be.
The On-Premises Coveo Search API product is currently a mature product that will continue to receive bug fixes and be used by Coveo for Sitecore on-premises editions. You are right that this product won't receive any new features in the future. We are focusing our efforts on our Cloud products.
The Coveo Search API is still the recommended approach to query the Coveo index. The on-premises Coveo Search API shares the same API than the Cloud version. Using it will ensure your code will still work well if you ever upgrade to a Coveo Cloud index.
The SOAP endpoint shouldn't be used directly anymore by Coveo for Sitecore clients because the REST API is kind of a proxy between the UI and this SOAP endpoint.
Be aware that you shouldn't query the search index inside the code of a Sitecore Computed Index Field or a pipeline executed for every indexed item or every retrieved search result as this will severely impact performance.
I hope this helps,