Topic hub

Search Functionality

Search is a business workflow, not just a text box. This section helps teams decide what users need to find, which filters and ranking rules matter and how search quality will be measured after launch.

Reviewed 4 September 20261 direct guides and sections

Use this hub to

  • Understand the decision before choosing technology
  • Find related cost, risk and ownership guidance
  • Move from planning to acceptance and operation

Search is a business workflow, not just a text box. This section helps teams decide what users need to find, which filters and ranking rules matter and how search quality will be measured after launch.

How to Plan Search for a Business Application

Search in a business application is rarely a simple box that returns matching rows. Before writing any requirements, you need to establish what users are actually trying to find, which data types are involved, and what a useful result looks like from their perspective.

Start by listing every entity type in the system that a user might want to locate: clients, orders, invoices, documents, support tickets, product records, and so on. For each one, identify which fields a user would naturally think of when searching. Someone looking for a client might type the company name, a contact's surname, a postcode, or an account number. If the system only matches against the company name field, the other queries will return nothing, and the user will assume the record does not exist.

Next, consider who is searching. An accounts clerk searching for an invoice number has a very different intent from a sales manager searching for all clients in a specific sector. Role-based search behaviour affects which fields should be indexed, which results should appear first, and whether certain records should be visible at all.

A practical way to scope search early is to write down five to ten real queries that each user role would type, then map what the correct result should be for each one. If you cannot agree on what should come back for a given query, the search requirements are not yet defined. This exercise also reveals whether you need filters alongside free-text search, whether synonyms matter, and whether partial matches should count.

Common mistakes at the planning stage include treating search as a feature to add later, assuming the database's built-in text matching will be sufficient, and not defining what constitutes a good result. Discuss with your supplier how search will be tested: if acceptance criteria only check that a query returns something, rather than the right thing, the delivered search will likely frustrate users from day one.

Full-Text Search vs Filtered Views

These are not two versions of the same thing. They solve different problems, and conflating them leads to confused interfaces and poor results.

Filtered views work on structured, known fields. A CRM might present a list of clients with dropdowns for sector, status, and assigned manager, plus date-range pickers for creation date. The user does not type anything; they select constraints and the system returns every record that matches all of them. Filtered views are predictable, easy to explain, and straightforward to build because they map directly to database queries with WHERE clauses.

Full-text search is for unstructured or semi-structured data where the user does not know the exact field or value. They type a phrase and expect the system to find relevant records across multiple fields, potentially including notes, email bodies, document contents, or comments. This requires an index that breaks text into tokens, handles stemming and variations, and ranks results by relevance.

In most business systems, you need both, and they should be clearly separated in the interface. A common pattern is a set of filter controls above or beside a search box. The filters narrow the dataset, and the search box then searches within that narrowed set. What causes problems is trying to make a single text box do the work of filters by expecting users to type structured queries like "sector:finance status:active". Business users will not do this consistently.

When planning, ask which data is structured enough for filters and which is genuinely free-text. Document titles, reference numbers, and status fields suit filters. Notes, email text, and document bodies suit full-text search. Some fields, such as company names, sit in the middle: users expect to type them into a search box, but they are structured enough that exact and partial matching matters more than relevance ranking.

Search Relevance and Ranking for Business Data

Consumer search engines rank results by inferring intent from vague queries. Business search is different: the user usually knows what they are looking for, and the cost of a wrong result is not a wasted click but a missed invoice, a duplicated client record, or a compliance failure.

Relevance in a business application starts with field weighting. If someone searches for "Acme", and "Acme" appears in a company name field on one record and in a casual mention within notes on another, the company-name match should rank higher. This seems obvious, but it requires the search configuration to assign different weights to different fields rather than treating all text equally.

Exact matches should generally outrank partial matches, and partial matches should outrank fuzzy matches. A search for "Smith" should return "Smith" before "Smithson" and "Smithson" before "Smyth" — unless your user base genuinely needs fuzzy matching for names, in which case the rules need to be explicit about how much variation is acceptable.

Recency is another ranking factor in business systems. For support tickets or orders, a user searching for a reference number typically wants the most recent match. For client records, recency may be less important than exact name matching. These are decisions that vary by entity type, and a single global ranking rule will not serve all of them well.

When discussing relevance with a supplier, ask specifically how field weighting is configured, whether different entity types can have different ranking rules, and what happens when a query matches a unique identifier like an order number. If the system cannot guarantee that an exact reference-number match returns that single record at the top, the relevance model needs adjustment before launch.

How to Handle Search Across Multiple Data Sources

Many business systems pull data from more than one place. A client portal might need to surface information from the CRM, the billing system, the document store, and the ticketing platform. Users expect a single search box to find results from all of these, but the technical reality is more complicated.

There are two broad approaches. The first is a unified search index: data from all sources is copied into a single search engine, which handles queries in one place. This gives fast, consistent results and makes ranking across sources possible. The trade-off is that the index must be kept in sync with the source systems, which adds complexity to data flows and introduces a delay — the search index may be seconds or minutes behind the live data.

The second approach is federated search: the user's query is sent to each source system in parallel, and the results are merged and displayed. This avoids the sync problem because each system searches its own live data. However, merging results from different systems is difficult when they return data in different formats, use different relevance algorithms, and respond at different speeds. The user experience can feel inconsistent.

Permissions add a further layer of complexity. If a user can see certain clients but not others, the search results must respect those rules even when querying a unified index. This means the index either needs to store permission data alongside each record — and re-index whenever permissions change — or the results must be filtered after retrieval, which can produce misleading result counts and empty pages.

When planning multi-source search, clarify with your supplier which approach they recommend and why. Ask how permissions are enforced, how quickly new or updated data appears in search results, and what happens when one of the source systems is temporarily unavailable. A search that silently drops results from a downed system is more dangerous than one that clearly reports a partial result set.

Search Analytics and Understanding User Queries

Once search is live, the queries users type are a direct record of what they need and where the system is failing to provide it. Capturing and reviewing this data is one of the most practical ways to improve a business application over time.

The most important metric is the zero-result query: a search that returns nothing. Some zero-result queries are simply typos or nonsense, but a pattern of zero-result queries around a specific term usually means either the data is missing, the search index does not cover the right fields, or users are describing something in language that does not match the stored data. Grouping and reviewing these queries monthly will reveal specific gaps to address.

Click-through rates on search results are also telling. If a query returns ten results but users consistently click the fifth or sixth, the ranking logic may not match user expectations. If users frequently search, get results, but then navigate away without clicking anything, the results may be present but not relevant enough to be useful.

From a privacy perspective, search analytics in a business application sit in a different context to consumer web analytics. Users are typically employees or authenticated clients searching within their own data. You still need to consider data protection: storing search queries may mean storing personal data if the queries contain names, email addresses, or other identifiers. A retention policy for search logs should be defined before collection starts, and the data should be aggregated or anonymised for reporting where possible.

When specifying search analytics with a supplier, confirm what is logged, where it is stored, how long it is retained, and who can access the raw query data. Ask whether the reporting includes zero-result queries by default or whether that requires additional configuration. The value of search analytics depends entirely on whether the right signals are captured and whether someone in the business has responsibility for reviewing them regularly.