Skip to content
Piotr Karwatka edited this page Dec 18, 2017 · 2 revisions

Welcome to es-indexer - Rich Data Elastic Search Indexer project documentation!

The primary goal is to create a high-speed, and scalable data store for modern eCommerce apps leveraging on the first-class backend features that Magento offers. Additionally, it could be an enabler for developers that, because of some reasons, yet avoided the platform - choosing some "lighter" alternatives.

Although Magento and some 3rd party modules (e.g., Elastic Suite) already support ElasticSearch indexation, our approach is more complicated. The first challenge native data indexers that creates the full SQL database mirror inside ES indexes (with all EAV structures, attribute dictionaries, categories, extension and custom attributes, taxes, prices). The second challenge is to keep this index updated at in almost-real time, to allow application developers to use the data received from ES to support most use cases WITHOUT double-checking the MySQL source of true.

This project is driven by Magento 2 Community developers and all results of this project will be added to Magento 2 Community Edition for free

Data formats

Our main goal is to leverage on Elastic Search/JSON data format to denormalize the data in way that result in single ES queries for most common use cases (product page, catalog search etc). To not complicate things we choose to use the Magento2 REST API data formats as a base. We're open to the discussion here! Not all data formats have been described yet.

Architecture

The very basic architecture: Architecture overview

TODO: We need to design the Code structure and classes for the indexer and mock-up the PHP structure for the module.

Clone this wiki locally