Hence, we can say that ‘An optimal retrieval system thus should try to exploit as much additional context information as possible to improve retrieval accuracy, whenever it is available.’ 
‘Different roles (like manager, IT, software developers) with the same query have different information needs […] and an Enterprise Search system should exploit this information… we know that users with similar roles in corporate environments are often searching for similar documents, because they are interested in information belonging to the same domain or on related topics and thus their information needs are more comparable than others’ 
While designing for enterprise search we can utilize contextual information not only about the search query but also that of the user. One of the unique features of an enterprise search system compared to a web search is that the user here is a known employee who has a specific job role. A good example of this is Bing for Work. When the user searches for ‘my files’, the search engine does not surface generic search results for files, but displays information about the user’s own files. Thus utilising the context they have available about the user to customize their search results.
There are many design patterns of search that will not only provide you with a good user experience but can also help you with better search ‘confidence’ (which is nothing but the accuracy of your search results).
Airtable and Linkedin templatize their search. They know that you are looking for very specific entities, hence they provide you with a template that ultimately helps narrow down your search query. This in turn provides you with higher confidence search results and you will find yourself re-searching less.
Notion and Mac OS Spotlight use an overlay search that presents the idea that you are searching from everywhere across the system or product. The overlay format also helps trigger the search from anywhere with a quick command.
When you look at search, it is interesting to see it as a sum of its elements and corresponding states. The search bar, search button, suggestions area, search results page, and more, together make up the search component. These elements can behave differently in different states depending on the user’s interaction with them. There are ample ways in which you can utilize them to serve your purpose.
For instance, some of the best-designed searches cleverly use search hint text to engage in dialogue with their users. Google’s Admin Console tells users they can search for users, groups and settings. It goes a step further and also cites an example of what a probable query can look like.
We can utilize even the simplest hint text to actively communicate with the user and give them an idea of what to expect from search. A carefully designed orchestration of each search element and its states helps create a seamless and intuitive experience. Do not miss out on designing the details.
We earlier discussed how giving users more context about their results and surfacing frequently performed actions can help to provide a better search experience. But what if I tell you, it might do the opposite? The more data your server might have to fetch in real-time, the slower it might display results. This can easily hamper a user’s search experience. Think of all the times you changed tabs because the search took light years to display results. A good search design should also be considerate of all its technical limitations and account for them. Time is most likely to be one of them. Enterprise data is growing at a rate faster than ever, according to the 2020 IDG survey, data volumes are growing by 63 per cent per month in organizations. So unless you have acres of data centres, there is a good chance that your enterprise servers may be stretched, ultimately slowing the search retrieval time.
This is not an engineers problem to solve alone. Small considerations in your search design can go a long way to improve this latency. Using pre-canned content is one of them, where you prepare some results in advance and store them for display. You can use general terms instead of specific names that might take longer to show up. For instance, ‘Meeting room HYD-123 has smart TV’ can simply be ‘This room has smart TV’. This way less real-time calls will have to be made to surface results.
Don Norman said, ‘Search is more than search today. It is how we have conversations.’ When we converse with our fellow humans we expect them to understand what we mean, despite our vocabulary accidents and spelling errors. To the maximum extent possible, your search must aim to do the same. It should accept queries in natural language formats like, ‘Time in Nagoya’/ ‘Nagoya time’, without having to adhere to strict syntax like formats.
When your user appears to have made a spelling mistake, try to support them with a ‘Did you mean’ or other equivalents or suggest some close matches that might be relevant to them.
In case their query goes beyond all possible index matches, even the ones in the faulty spelling list, provide them with suggestions to refine or fix their queries.
At no point is it a good idea to leave your users stranded without any direction to go forward in even when they make mistakes, especially when they make mistakes.
Measuring performance is essential in determining the success of any user experience. Luckily there are many ways to do that with search as well. One way to go about this is to use Google’s HEART framework — where you first decide on the key goals of your experience (Happiness, Engagement, Adoption, Retention, Task Success) and then look out for metrics or signals that will help you measure them. For instance,
To measure how well have users adopted the search, I can track
How many search queries do users type on a daily/monthly basis, depending on your org needs.
To measure the task success of searching a query, I can track
How many times do users reformulate the query until they click on a result? (the lesser the better)
Which rank of result do they click on (The higher the better)
If I want to know how happy users are with the current search experience
I can ask them questions using a Likert scale or simply engage in a conversation with them to look for qualitative answers.
There are a plethora of methods to use here. You should feel empowered to use what works for you and tweak them as you find necessary.