Search is a critical element for making large amounts of data accessible.

To make search resonate with users, it requires a mix of well designed usability, tuned data sets and optimised infrastructure. Servian has customers in both Government and Financial Services who have been able to benefit from our expertise in search. We recently worked with a Financial Services organisation to deploy a search application in a local GCP region.

The challenges

User interface

Part of Google’s strength is the simplicity of the single input text box. Many customised search sites have a user interface which is too hard and complex. With so many different search flows and options it’s over whelming and extremely difficult to find what the user is looking for.


Results are not always relevant to user’s search query. It takes too long to find relevant content. Users are not using correct terms, so cannot find the information they are looking for. Minor UI changes can significantly increase search usability together with overall UX.


Google also set the benchmark with speed. Search which is slow and takes a long time to return results, will not engage users and keep them coming back. Google’s platform and indexing technology is second to none.  Google Cloud Platform and ElasticSearch bring that capability within reach of enterprises.

Our solution

The UI design

Multiple rounds of stakeholder engagement were undertaken using our RapidXP process. We used our Rapid XP process to define the problems we wanted to solve and make sure that our design decisions were supported by user research and feedback.

A clickable prototype was tested with users to validate the changes proposed to the site. We received positive feedback and gained insights from the validation test which led to reiterating before creating Hi-Fi mockups of the final solution. From the workshops it was clear there was not only an issue with the UX flow of the existing search functionality, but also the speed of search returns and flexibility of how users search.

UX improvements include

  • Display search field prominently – move search boxes into the main navigation so it is accessible on every page. As well as adding an effective autosuggest.
  • Results page – include the user query in the original search box, make filters clear, display the number of results
  • No results – show alternative suggestions
  • Consider a chat bot for a conversational experience

The index optimisation techniques:

  • Fuzziness – makes allowances for spelling mistakes
  • Stemming – returns related words. The index stores the base word
  • Synonyms – returns like words. The index stores related words
  • Phonetic Matching – provides ‘sounds like’ matching
  • Suggester – partially completed words are typically used to help an auto-suggester
  • Weighting of results – with business input, this can help skew results to be more useful for end users
  • Filters – provides specific query capability on fields which returns exact matches
  • Highlighter – results are enriched with the selected words highlighted

The platform design:

Front end for search applications can be hosted in App Engine, written in javascript based frameworks like Angular.

ElasticSearch and Kibana nodes are run on Compute Engine provide a clustered search capability which sits behind an NGINX instance to provide an SSL Proxy capability for security.

To load data into ElasticSearch, Google Cloud Storage is used to store incoming files before they are loaded into ElasticSearch as JSON.

The Platform was designed using the following tools:

  • App Engine
  • ElasticSearch
  • Kibana
  • Nginx
  • Google Cloud Compute Engine
  • Google Cloud Storage
  • Google Source Repositories
  • Google Cloud Security Scanner