Curious about what Algolia can do for your business?
Get a free and personalized demo of our search and discovery solutions
Sorry, there is no results for this query
All search methods are not created equal. The easier (and faster) it is to search through a website, the more motivated your users are to stay on the site, browse your content, and become a repeat customer.
Federated search is a great way to improve the usability and performance of your site search. Federated search is a form of site search that pulls information of various types from multiple data sources and presents it in one common interface for users to browse.
When federated search is implemented and designed well, it encourages users to go beyond what they were searching for. They can browse, discover, and consume more information about your business and products than ever before. Plus, the more searches conducted on the site, the more valuable data the company can collect about popular products and incorporate into decisions about the product roadmap.
But designing a powerful, intuitive search function requires choosing the right approach to federated search. The right approach depends on your website, how data is currently organized and stored, and the overall goals of your website and business.
Federated search involves two fundamental processes: indexing and searching.
First, data is indexed. Indexing involves gathering, parsing, and storing data in a way that enables streamlined, efficient search. For the typical site search solution, indexes need to be updated at specific intervals, dependent on how often new data is added and how quickly the new data needs to become searchable.
Next, the data is searched. The search process involves querying the indexes to return the right information in the right order.
Every federated search tool is based on indexing and searching. But there are three different approaches to indexing and searching to choose from, based on your business needs: search time merging, index time merging, and hybrid federated search.
1. Search Time Merging
Search time merging (also sometimes called query time merging) involves maintaining a separate index for each data source that you want to include in your federated search. Then, to perform a search, you search each index separately for a given search term. You may also need to deduplicate data by identifying results drawn from redundant data sources. Finally, the search results are aggregated to produce the list of final results.
The main advantage of search time merging is that it is the simplest federated search method to implement. Because it does not require you to create a central index for all of your data sources, you can set up a search time solution quickly, using the indices you already have within each data source.
In addition, search time merging can be simpler to set up because there is no need to standardize your indices. The data structures for one index could be different than those for another, but search time merging will work with both.
On the other hand, the performance rate of searches conducted using search time merging tends to be slower than that of other federated search methods. It is less efficient to search multiple indices independently. If one index is particularly slow to respond, the entire search will be delayed. Finally, setting up a satisfying relevance for the aggregated results list can be very challenging, as it comes to comparing apples with oranges
An alternative approach to federated search is index time merging. With this approach, you create a central index for all of your data sources, then parse that index in order to perform a search.
Because you only have to search one index, index time merging typically results in faster searches than search time merging. This is the primary advantage of index time merging. Index time merging also allows you to include data sources that do not have their own search functionality, and therefore cannot be used with search time merging.
The chief disadvantage of index time merging is that it requires more effort to implement. Instead of being able to parse a collection of indices, you must create a central index for all of your data sources, and update that index whenever the data sources change. Plus, if some of your data sources are formatted differently from others, you need to standardize all data to be the same format. Similarly to search-time merging, it still requires you to decide on a unique relevance strategy for all your different types of content, which isn’t optimal.
You can also take a hybrid approach to federated search by combining some of the methods from both search time and index time merging.
For a hybrid federated search, you create a central index for as many data sources as possible, just as you would for index time merging. However, if you have data sources that cannot easily be represented to the central index, you maintain separate indices for them. When you execute a search, you search all of the indices—your central index, as well as the additional indices that exist for any other data sources not represented in the central index. The search results based on all indices are aggregated to create a final list, as you would do with search time merging.
By reducing the number of indices that need to be searched, hybrid federated search provides better performance than you would achieve with search time merging. At the same time, however, it does not require you to create a single index for all of your data sources.
The chief disadvantage of the hybrid federated search technique is that, because you still have more than one index to search, performance is usually slower than it would be if there were a single index.
This method starts similarly to the search-time merging method, but instead of aggregating the results in one result list, it presents one result list for each type of content the search is performed on, in a unified interface.
Not only does the federated search interface deliver superior performance, it also allows site owners to independently fine-tune relevance for each type of content. However, achieving these benefits does require a bit of forethought. The design of the final interface should reflect the experience a site owner wants visitors to have, thus some strategic planning is needed. Moreover, all search site tools are not equipped to display a federated search interface. Thus, a site owner would need to ensure their site search solution is capable of both indexing different types of content in different indices and presenting that information in the most user-friendly way.
With four different federated search techniques to choose from, how do you decide which is best suited to your business’s needs? There are several factors to consider.
You should consider the types of data you have, and which tools are available to you to manipulate, index, and search them. If your data sources comprise widely varying formats, a search time approach will typically make most sense. Search time is also more viable if each of your data sources can be easily searched independently, which is the case if the data is structured consistently. If, on the other hand, all of your data can easily be standardized into a single database, index time merging is a better solution. However if you have a range of different content forms and your search solution supports federated search interfaces, it should be the preferred approach.
Your developers are an important factor in deciding which federated search approach to use, too. If you have a large development team and the resources necessary to build a central index, index time merging may be a good fit for you. But for smaller development teams, search time merging may be a more practical option, since it requires less effort to implement. If your developer team does not have much experience in building search applications, a third-party federated search solution might also be an attractive option.
At the end of the day, the main point of search is to connect your content with your users’ intent. User experience requirements should be high priority when deciding which federated search approach to take. If users expect a single list of heterogeneous results (think Google Drive), search-time or index-time merging are good solutions to decide between based on your data environment and resources. If users already know what they are looking for but could benefit from additional content or a structured results layout, a federated search interface is the right solution.
No matter which approach you take, Algolia can help speed your implementation of federated search. With blazing fast search results, support for virtually any type of data source and the ability to customize search UIs to help guide users, Algolia makes it easy to add federated search functionality to your website. See for yourself by signing up for a free account.