According to a research study, the e-commerce market has grown from $3.8 billion in 2009 to a staggering $13.6 billion in 2014 and is likely to cross $16 billion by the end of 2015. More than 35 million online shoppers were registered in India in 2014 Q1 and the figure is expected to swell to more than 100 million by the end of 2016.
E-commerce includes several intricate parameters of product orders, payments, invoices, catalogue management, and customer relationship management and so on.
There is utmost complexity in bringing diverse functions together seamlessly while developing an application from scratch based on client’s budget and time. Different solutions have been proposed to address the problem, but it has been difficult for many to resolve performance benchmarking issues
For example, in the context of product catalogue management, it is difficult to set attributes to add new products to a single store that includes different clothes like formal pants, T-Shirts, trousers and so on. MongoDB facilitates incremental changes in data, without having to push the database offline. Browsing through product catalogues across plethora of dimensions, like size, colour, price, category, is highly unwieldy too.
MongoDB allows storage of all types of data, quick retrieval and effective schema changes. MongoDB JSON-based documents also store different set of attributes in a single repository, making it very simple to describe very complex hierarchical relationships. Being an expressive query language, MongoDB provides flexible access to data, based on specific business needs.
Generally e-commerce searches go beyond finding products and searching for them. They need to have Geo-Location Search, Faceted Search [searches based on term, number range, date range, custom meta-data filled] and Document Search etc.
MongoDB is a great universal NoSQL database tool where you can find exact matches to all your text-search queries. When it comes to full text-search, MongoDB works best when integrated with leading text search tools provided by Lucence-based project, called Elasticsearch, which is an open source (Apache 2), distributed, more extensive and powerful search engine. It allows you to scale and support distributed environments like MongoDB.
Elasticsearch is able to achieve a quick search response as unlike direct text search, it is based on index search, technically called the “inverted index”, because it inverts the page-centric data structure (page > words) to (words to page).
The ease of text-search makes Elasticsearch compelling, but, one may not want to move complete application data over to another database for just quick search response only. The solution to this is very simple: integrate “Elasticsearch” with MongoDB and utilize its capability by using “Mongo Connector”. The Mongo Connector is not only capable of exporting data from your Mongo DB replica set or shared cluster to Elasticsearch, but can also keep track of data movement and enables users to edit documents in MongoDB reflecting the same changes on Elasticsearch on a consistent basis.