We are working hard to improve the user experience on the Docker Index, and we’d like to share some improvements with you.
Along with many other enhancements, we removed the database search and plugged in a Haystack/ElasticSearch solution in order to make the search results more accurate and relevant. Using ElasticSearch, we were able to apply some of the great features that ElasticSearch provides to you such as:
• Boost Fields: Fields such as image name, namespace and description has its on weight and for each searched term, the search engine applies those weights and returns you the best results in order of relevance
• Tokenization: In order to provide a great experience to the user with real-time autocomplete we took advantage of the efficient ElasticSearch tokenize feature which breaks a string down into a stream of terms or tokens
As we wanted to roll out improved search features as fast as possible, we looked for good and reliable hosted ElasticSearch providers and decided on Found.no. Development with Found.no was as easy as simply creating our cluster (after signing up for an account of course!) and grabbing the credentials to plug into our development environment.
Once we looked to move our changes to production, Found’s staff helped us analyze our indexed data and suggested the right settings for clustering and memory allocation.
As an example, if we search for
desk, the tokenized fields which contains the breakdown of substrings suggests you names as
docker-desktop. It’s very interesting to see how fast we get the real-time suggestions from the Elasticsearch engine and for displaying the drop-down suggestions list we are using jquery-ui which is great open source project.
Improved Repository Listings
We have also improved the presentation of the repository listings, both on search results and other pages. Different types of repositories
(like official, trusted, normal) can now be identified by their own unique icon and show information like stars and comments.
Even though we have made a lot of improvements to the search, we will keep refining and improving the results to make the results even better!
Please feel free to contact us for more information and feedback!