Today, MercadoLibre uses Elasticsearch for the "My Account" section of the site, where sellers manage their products for sale. When sellers log into the system, they can view a list of every product they are selling – called "My Items" – which is populated and searchable via Elasticsearch. From that list, the seller can edit attributes, check quantities and change prices.
Sometimes a seller must search through thousands of items. A typical MercadoLibre user will sell a few thousand products, but some sell as many as 50,000 items. Elasticsearch enables sellers to find products by filtering based on a variety of parameters, such as product type, price, quantity or date the item was published.
"The My Account section of the system is critical," says Ocampo. "Without the ability to search through their items, sellers would not be able to view their products, add new products, make changes to the descriptions, and adjust prices – sellers would not be able to sell. The entire system would be paralyzed if we did not have an easy way for sellers to search and manage their items."
For a user selling thousands of products, search is obviously essential. But even the user selling only a few items still depends on Elasticsearch in order to manage those products. Elasticsearch not only empowers sellers to manage thousands of products, but also helps millions of users conduct their business regardless of the number of product listings. The company's revenue depends directly upon the seller's ability to manage the products they are selling, and Elasticsearch makes this possible.
All MercadoLibre front ends call APIs on the backend. The APIs are available to anyone who wants to build an application based on MercadoLibre. These APIs are can be used for many different purposes, both internal and external. Because Elasticsearch worked so well, MercadoLibre began to use it in other ways via APIs. First, they implemented an API over Elasticsearch to help users to search through questions asked by buyers and answers provided by sellers – the key method of communication between buyers and sellers prior to a sale. Then, they created a second API that helps users to search orders.
"We develop our search APIs very quickly and easily with Elasticsearch," says Silvina Lucero, Senior Software Engineer at MercadoLibre. " These were two new projects with very different requirements and Elasticsearch has adapted well to both of them."