It will be very useful for the users to have the search being suggested based on the past searches while they are typing in the search text box in a SharePoint search site. Yes I’m talking about the same concept that you find in the
Google search but with a limited functionality.
This feature is available as an OOTB feature in SharePoint 2013 enterprise search. Look at this link to know more about this cool feature.
The process is completely different though.
as they type their search query in the search text box. The suggestion keywords are stored and retrieved from a SharePoint custom list called “Search Keywords”. Look at the below screenshot for a better understanding:
As you can see in the above image, as I type “I love s”, I get “I love SharePoint” and “I love Silverlight” as suggestions. These 2 are retrieved from a SharePoint list called “Search
So how and when are these suggestion keywords stored in the “Search Keywords” list? When a user is searching in the search site and the results page finished loading, the JS code added in the CEWP in the results page would add the search query
in the “Search Keywords” list as new list item. Thus the matching suggestion keywords are retrieved from the list as the user is typing in the search text box later.
Since the suggestion keywords are added to a SharePoint list as a new list item every time a user searches, the performance may reduce when 1000’s of items get stored in the list. So it is advised to manually delete few keywords frequently from
One is for the search home page and the other is for the search results page.
I have explained the code in two parts in the below blog posts:
Part 1: How to give the Auto suggestion/complete functionality to the Search box with search terms
retrieved from a SharePoint list. (You shall use the code implemented here if you want to store the search suggestion content in the SharePoint list by yourself)
Part 2: How to store the users' searched queries to a SharePoint list dynamically and then show them as suggestions
in the search box while searching.
I have explained the deployment process in the documentation section.