i am trying to optimize search result in on-premise search web parts.

m trying to get more efficient search result.

please suggest some best techniques.

5 Answers 5


You can Create Result Sources and Refinement,and Crawl and Manage Properties as well in your Farm . this will give most efficient result then Direct Query in Search web part. You can define all above OOTB

  • Also You can create rules from Central Admin to exclude the website whose result you do not intend to show in the Search result page. Commented Mar 1, 2016 at 7:25
  • Agree with @AnkitKumar
    – S.P
    Commented Mar 1, 2016 at 8:48

You have to define "optimize" and "efficient". From what perspective? As you said this is a development question then for more optimal query:

  1. Use JSON for a 10% smaller payload Accept: application/json;odata=verbose
  2. You can specifically define the managed properties to return (using SelectProperties)
  3. Only include the result set you want bypassresulttype=true
  4. Use other modifiers like rowlimit, startrow, rowsperpage, etc.
  5. Use compression: Accept-Encoding: gzip,deflate

There are other optimizations in search, but this appears to apply to your question.


Search in SharePoint 2013 includes a Search REST service you can use to add search functionality


You can use the set of features in it like:

  1. SelectProperties
  2. RefinementFilters
  3. SortList
  4. Sort
  5. HithighlightedProperties

You can use XRANK expressions to boost the query also.

Search with minimum payload can be achieved through it with much performance and reliability.


Perhaps this will provide some helpful information.



We actually facing the same performance issue since our current project is search-driven site. And we turn on three caching - BLOB, Object, and Output and it helps a lot.

The benefit turning on caches for search driven site: "BLOB cache - used to cache JavaScript, CSS, images files, and large rich media files. Should be used when pages are visited frequently. You don't have to worry about object cache (it's automatic). Use BLOB when you have large images, css, JS, media files which are viewed/used often (e.g. home page). Use Page cache if you have pages with "static context" (not changed very often) and you have many users visiting them. Also you can use HttpContext.Cache to cache at least some result from SQL queries or other data sources to speed up loading. In general, you should use caching when page is visited often and it is costly (time or computational resources) to generate it. ​"

And here's the link explain further how it optimized search.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.