Techblog: How the Cliqz search results are compiled

The mixer is the part of the search engine that mixes the most relevant data from different sources and presents it to the user as search results. The latest mixer implementation further improves the search experience.

(Icon by Freepik

Björn GreifEditor

Bringing the user to their desired search result in the most direct way — that is the goal of the independent search engine built into the Cliqz Browser, which we developed independently in Munich. On average, Cliqz answers about half of all search queries directly from within the browser — without having users to wait for a Search Engine Results Page (SERP). But how are the results compiled that are displayed in the browser?

The part of the search engine responsible for this is called the mixer. At the end of the search process, it mixes the most relevant data together and presents it as search results.

The mixer processes data from various sources locally on your device: Results coming from the Cliqz quick search as well as results from your browser history or your favorites. In the next step, duplicates are removed to ensure that each result only appears once. Furthermore, the results are arranged in such a way that the most frequently used results from the history appear at the top.

New mixer improves the search experience

With the latest version of the mixer we have further improved the search results. On the one hand, more history entries are displayed than before, which makes it easier for you to access your history and return to pages you have already visited. On the other hand, news and other Smart Cliqz cards (movies, flight status, etc.) now also appear as such in the history.

Thanks to extensive code optimizations of the mixer, the search experience has become even faster and smoother. For example, the screen flickers less when the results are updated in real time while you enter your search query. The results are now replaced one by one, instead of disappearing and rebuilding themselves after each character is entered.

Another benefit: The results are no longer affected by the speed of the Internet connection. Previously it could happen that the quick search did not show any results after a timeout due to a slow connection. We have lifted this time limit: Now we prefer to wait a little longer if necessary, but to always provide results.

Modular design facilitates development and maintenance

Both our users and we as developers benefit from the completely overhauled mixer. The new implementation makes development and integration of new search functions a lot easier. Thanks to its modular design, we can implement new features more quickly without having to worry about negative effects on other functions. If necessary – for example, if unforeseen problems occur – individual modules can simply be switched off. In order to detect errors early on and to eliminate such problems from the outset as far as possible, we have introduced automated tests that were not feasible with the previous mixer version.

In general, the new mixer is easier to maintain. This is mainly due to the fact that the new implementation is based on RxJS, a set of libraries for reactive programming. RxJS simplifies the processing of asynchronous event streams such as search results from different sources.

Get faster to your desired result

Before we rolled out the new mixer to all Cliqz users, we had it tested for a month by 10% of our users. The outcome: The changes were well received, and users now search more frequently via the history. This brings them to their destination even faster.

Why don’t you try out the improved search yourself? Cliqz is available for free download for Windows and macOS as well as for Android and iOS.