InnerWorks Logo
Return to main siteReturn to main site

No Search Is Better Than Bad Search

No Search Is Better Than Bad Search

Marcin Zajkowski

22 Sep 2021 • 6 min read

Here's why the recipe for a great overall user experience is 1 part Azure Cognitive Search and 1 part Implementation!

Innerworks is coming soon...

This blog was originally published on our previous Cogworks blog page. The Cogworks Blog is in the process of evolving into Innerworks, our new community-driven tech blog. With Innerworks, we aim to provide a space for collaboration, knowledge-sharing, and connection within the wider tech community. Watch this space for Innerworks updates, but don't worry - you'll still be able to access content from the original Cogworks Blog if you want. 

What happens when you use search? Two things:

You either find what you want
Or, find what you don’t want.

Sure, search has plenty of tricks to extend the user experience and search behaviour to, for example, suggest related content. Still, ultimately - it’s great when it works and rubbish if it doesn’t. 


Let’s take Google. There is a lot of visible or behind-the-scenes logic that makes the search experience better for the engine to track more relevant data and its users. Did you know, for example, that you can:

- Use quotes to force an exact match search.
- Put “AND” or “OR” logical operators to return related content for all or one of the terms.
- Use the ‘-’ operator to exclude results with specific terms/phrases.
- Wildcard (*) and use it as a placeholder for some parts of queries?
- Limit search to a specific website or file type?
- Limit results to specific date ranges?

I didn’t know about all of them (and I’ve used Google every day for years). Kudos to Marko Denic for sharing these tips on one of his blogs recently.

What differentiates a good search engine from a bad one?

FindWise tells us that this question was one of the questions the UIE research group asked themselves when conducting a study of on-site searches. One of the things they discovered was that the choice of the search engine was not as important as the implementation. Most of the big search vendors were found in both the top sites and the bottom sites.
So even though the choice of vendor influences what functionality you can achieve and the control you have over your content, there are other things that matter (perhaps a lot more). Even the best search engine in the world will not work for you unless you configure it properly.

The publication goes on to say there are four kinds of search results:

- ‘Match relevant results’ - returns the exact thing(s) you were looking for
- ‘Zero results’ - no relevant results found
- ‘Related results’ - i.e. search for a sweater and also get results for a cardigan
- ‘Wacko results’ - the results seem to have nothing in common with your query
- So, what did the best sites do, according to the research? They returned match-relevant results, and they did not return 0 results for searches.

So, with this in mind, we all can focus on matching the relevant search provider with our projects.

Searching for search.

-When searching (for a search), there are a few more considerations to be made, such as privacy or tracking aspects seen from the end-user perspective, AI and other technologies helping to profile website behaviours based on the users’ activity and the general project/business/users’ expectations.

Azure Cognitive Search to the rescue!

As we can read on the official product website:

"Azure Cognitive Search is the only cloud search service with built-in AI capabilities that enrich all types of information to help you identify and explore relevant content at scale. Use cognitive skills for vision, language, and speech, or use custom machine learning models to uncover insights from all types of content. Azure Cognitive Search also offers semantic search capability, which uses advanced machine learning techniques to understand user intent and contextually rank the most relevant search results. Spend more time innovating and less time maintaining a complex cloud search solution."

When you use the Cognitive Search service, you get:

- A search engine that performs indexing and query execution
- Persistent storage of search indexes that you create and manage
- A query language for composing simple to complex queries
- AI-centred analysis, creating searchable content out of images, raw text, application files
- Integration with Azure data through search indexers, automating data import and refresh

And, of course, developers can implement a full variety of possibilities and enhancements. The features which I like the most are:

- Suggestions & auto-complete. This saves a lot of “taps” or “keydowns” when the search bar already knows what we want to type there. Easy to implement, UX++.

- Faceting - If we operate on big data sets, it’s good to serve filtering capabilities and also help users understand the impact and importance of applied filtering. Faceting allows us to group search results and deliver extremely rich user experiences, again, relatively easily.

 - Semantic search - Thanks to the deep learning models that understand user intent, search engines can rank the most relevant results automatically based on the user input.

- Customisable scoring - This is an extremely powerful feature in the hands of experienced teams and developers. With good collaboration between business and technical teams, the search experience and results may serve as more powerful and metrics-driven results for specific search requests. In my opinion, this is the most important feature to explore when implementing a custom search.

- Geospatial support - This is extremely helpful when implementing search & map support together. Calculating distance, providing results within ranges, placing results on the map - it all wasn’t that easy before the almost seamless extension from the Cognitive Search.

- Proximity and fuzzy search - Great for all the typos fans and non-native users who are looking for some results and may make spelling mistakes in their queries.

- Synonyms - Helps to provide results of similar and related queries to fill the gap and to avoid a ‘Zero results’ state.
And, of course, a lot more! Microsoft’s search engine isn’t the first search. It isn’t the only one and isn’t necessarily the right one for every single use case. 

But, it’s extremely powerful, easy to use and integrates with other services based in the Azure ecosystem, with no need for any extension tools or apps. 


Do I need a search feature?

This is the most critical question to ask yourself. 

Referring to what I wrote initially, no search at all might be better than a bad search (and its resulting poor user experience). So, if you really want to have search capabilities in your projects, think in advance, plan and define how results should be returned and formed for what kind of queries. 

Step into the shoes of your users who are in need of finding what they are looking for on your site. Then, choose the vendor, explore possibilities, and map them to the business and users' expectations by pushing developers to the limits and by re-using what’s already created and available for them there.

We’d love to hear your biggest challenges when it comes to searching within your projects. Feel free to get in touch below. Azure Cognitive search might just be the answer.

In the mood for more Azure?

Explore our Azure resources to find out how Cognitive Search improves user experiences for industry-leading organisations.

- Foster + Partners -  Find out how Azure helped to create an integrated central intranet platform for the UK’s most influential architecture firm.

- Canada Life - A story of how Azure helped to modernise the Document Management System for the Financial Services firm Canada Life.

Are you a developer? Head to the blog for tutorials and tips on the Microsoft Azure ecosystem.

Community tech aid

Innerworks and Cogworks are proud to partner with Community TechAid who aim to enable sustainable access to technology and skills needed to ensure digital inclusion for all. Any support you can give is hugely appreciated.